[Ironruby-core] Code Review: RubyLibsAndYaml

John Lam (IRONRUBY) jflam at microsoft.com
Sun May 18 16:20:38 EDT 2008


Wayne Kelly:

> > The mapping from Ruby library name to the assembly and namespace is
> established via .rb files:
> >
> > thread.rb:
> > load_assembly 'IronRuby.Libraries', 'Ruby.StandardLibrary.Threading'
> >
> > openssl.rb:
> > load_assembly 'IronRuby.Libraries', 'Ruby.StandardLibrary.OpenSsl'
> >
> > The files are included in the solution and their build action is set
> > to "copy if new", which means they are copied to the output directory
> > during the build. ir.exe includes the directory it is located in into
> the load paths list ($:), so the .rb files copied there are found by
> the standard Ruby require/load mechanism.
>
> So what if some legacy code requires 'thread.so' or 'opensll.so'? Can
> we set it up so that it automatically loads the corresponding library?

I'm not sure what the best solution to this problem is here - we should probably throw an exception if *.so/.dll does not refer to a .NET assembly. It's unlikely that existing code will require thread.so rather than thread.rb. Charlie - what does JRuby do in this case?

Thanks,
-John



More information about the Ironruby-core mailing list