I have a situation where I'm using MacRuby for a thin local gui, and most of the work is done in a Parser object that I've created. I will eventually also have an IronRuby thin client, that will also interact with the Parser object.
I turned the Parser into a gem, thinking I could just bundle it with each of the clients, but I've found out that some of the code in my gem doesn't work with MacRuby (specifically named regex groups). So I think my only other option is to run it as a service locally. Somehow this seems like overkill to me, is there any other way to isolate the functionality of a gem so that I can just pass a file path to it and have it do its thing?
In other words, is there a way to have my MacRuby app just somehow make a call to the external Parser app without having to run a local server and service. And if I do create a service, should it just be as simple as calling localhost:PORT/parser?path=/what/ever/path? and then call parser to get updates on progress like localhost:PORT/current_file, etc?
EDIT: Would using JRuby to compile the Parser app be a good idea? That would give me the encapsulation I was looking for and allow me to include the app into MacRuby.