У меня есть ситуация, когда я использую MacRuby для тонкого локального графического интерфейса, и большая часть работы выполняется в объекте Parser, который я создал. Со временем у меня также будет тонкий клиент IronRuby, который также будет взаимодействовать с объектом Parser.
Я превратил парсер в драгоценный камень, думая, что мог бы просто связать его с каждым из клиентов, но я обнаружил, что часть кода в моем драгоценном камне не работает с MacRuby (специально названными группами регулярных выражений). Поэтому я думаю, что мой единственный другой вариант - запускать его как сервис локально. Почему-то мне это кажется излишним, есть ли другой способ изолировать функциональность драгоценного камня, чтобы я мог просто передать ему путь к файлу и заставить его делать свое дело?
Другими словами, есть ли способ заставить мое приложение MacRuby просто каким-то образом сделать вызов внешнему приложению Parser без необходимости запуска локального сервера и службы. И если я создаю сервис, должен ли он быть таким же простым, как вызов localhost: PORT / parser? Path = / what / ever / path? а затем вызовите анализатор для получения обновлений о прогрессе, таких как localhost: PORT / current_file и т. д.
EDIT:
Будет ли хорошей идеей использовать JRuby для компиляции приложения Parser? Это дало бы мне инкапсуляцию, которую я искал, и позволило бы мне включить приложение в MacRuby.