IVY - Ruby interface to IVY API

Copyright Notice


Ruby/IVY v0.1.0

Copyright © 2007 Gregoire Lejeune <[email protected]>

Ruby/IVY is freely distributable according to the terms of the GNU Lesser General Public Licence (see the file ‘COPYING’).

This program is distributed without any warranty. See the file ‘COPYING’ for details.

About IVY


IVY provides users with the ability to write Ruby programs that tightly integrate with IVY API.

With this module, you can define and register Ruby callbacks with the IVY engine. This module calls your ruby callbacks using interpreters from a threaded persistent interpreter pool. IVY contexts are presented using an object-oriented style interface for performing operations on a IVY context.

The main project web page for this module is:

http://greg.rubyfr.net

Prerequisites


Ruby/IVY has been tested with the following:

IVY-c-3.9.1

PCRE-7.0

ruby 1.8.4 built

You can find the latest version of IVY from:

http://www.tls.cena.fr/products/ivy/

and the latest version of PCRE from : www.pcre.org/

This module has only been tested on MacOSX 10.4.8. It was also compiled on Linux.

Building Ruby/IVY


Begin by building ivy-c, pcre, and ruby. Next, perform the following commands:

% ruby setup.rb config # or if you need to pass options to build the extension :

# ruby setup.rb config -- --with-option-...

% ruby setup.rb setup % ruby setup.rb install

Using Ruby/IVY


See the documentation for complete information on writing your own program using IVY.

Testing the samples


000-IVYTranslater.rb. You can run it by using the following command:

% ruby 000-IVYTranslater.rb

Then in another terminal window, launch ivyprobe ’(.*)’. You are then ready to start. Type “Hello Paul”, and you should get “Bonjour Paul”. Type “Bye”, and your application should quit:

% ivyprobe ’(.*)’ IvyTranslater connected from localhost IvyTranslater subscribes to ’Hello (.*)’ IvyTranslater subscribes to ’Bye’ Hello Paul IvyTranslater sent ’Bonjour Paul’ Bye IvyTranslater disconnected from localhost Ctrl-D %