Wouldn't this work?
dynamic globalConstants = engine.Runtime.Globals
globalConstants.MyModule.const_get('MyClass')
assuming
module MyModule
class MyClass
end
end
Haven't tried. Let me know if it works.
Tomas
From: [email protected]
[mailto:[email protected]] On Behalf Of Shay Friedman
Sent: Thursday, February 24, 2011 10:38 PM
To: [email protected]
Subject: Re: [Ironruby-core] Accessing a Module's Classes from C# with dynamic
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.
<[email protected]<mailto:[email protected]>> 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
[email protected]<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/ironruby-core
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core