Eloy, I have noticed that JRuby interfaces with Nokogiri gem via FFI today and works as expected.  Now, it would be great to have a single version of Nokogiri that works with all Ruby VMs that support FFI interface.

-Conrad

On Mon, Dec 28, 2009 at 3:26 AM, Eloy Duran <eloy.de.enige@gmail.com> wrote:
Hi,

Work on a FFI interface for Nokogiri has already been started by the author, you can find it here: http://github.com/tenderlove/nokogiri/tree/macruby

I have no idea on how good or not it works, though.

Eloy

On 27 dec 2009, at 09:34, Conrad Taylor wrote:

Jarred, after further analysis in regards to installing an earlier version of the Mechanize gem (i.e. 0.8.5), it has a couple of runtime dependencies:

hpricot >= 0.5.0, Note:  This gem contains C Ruby native extensions.
 
hoe      >= 1.8.2, Note:  This gem contains pure Ruby code.

Thus, you'll still have issues installing earlier version of Mechanize gem like version 0.8.5 because it depends on a gem which has C Ruby native 
extensions.  I have been reading many threads on moving away from using C Ruby extensions to using FFI which allows any client that supports FFI to
easily connect to native librarie(s).  The benefit would be to allow one to do the following:

For example, using Nokogiri as an example:

a)  build a Nokogiri interface and push the sources to github.com
b)  push the Nokogiri library sources to
     1)  to MacPorts, Linux distros, and so
     2)  to github.com

BTW, this is very similar to what we need to do today to interact with MySQL, PostgreSQL, and SQLite3 relational databases from Ruby.  However, Ruby FFI makes this process much easier.  Lastly, you can read more about FFI here:


Good luck,

-Conrad

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel


_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel