I got it working using a kind of a hack/workaround. I know this is kind of a hack/workaround, but I managed to do it this way:
I added the next code to the end of the ruby file: def hack(s) eval(s) end And then used it from the C# code to get the class object: var engine = Ruby.CreateEngine(); var scope = engine.ExecuteFile(@"c:\code\generator\lib\generator\generator_cmd_line.rb"); var genCmdLineObj = engine.Execute(String.Format("hack('{0}::{1}')", "Generator", "CmdLine"), scope); var cmdLineObj = engine.Operations.CreateInstance(genCmdLineObj); var results = engine.Operations.InvokeMember(cmdLineObj, "run"); return Content(results); Kind of a hack, but hey, it works! :) Shay. -------------------------------------------------------- Shay Friedman | Co-Founder @ CodeValue <http://codevalue.net/> | C#/IronRuby MVP | Author of IronRuby Unleashed Blog: http://IronShay.com <http://ironshay.com/> | Twitter: http://twitter.com/ironshay On Thu, Feb 24, 2011 at 4:41 PM, Rob R. <li...@ruby-forum.com> wrote: > to add directories to your search path from within C# you can do > something like this: > > > var engine = Ruby.CreateEngine(); > var searchPaths = engine.GetSearchPaths().ToList(); > searchPaths.Add(@"c:\code\generator\lib"); > searchPaths.Add(@"C:\Ruby-ri-192\lib\ruby\1.9.1"); > engine.SetSearchPaths(searchPaths); > > Let me know if you find out how to access classes that are within > modules from C#. I'm having no luck. > > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core@rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core >
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core