The documentation says that the block version of the code creates the
anonymous module and then passes this new module to the block via a dynamic
call to Module#module_eval.
The following code is a quick hack (that may work!!) but really we should be
hitting a DynamicSite to invoke the module_eval.

        // Ruby constructor:
        public static object CreateAnonymousModule([NotNull]BlockParam/*!*/
block, RubyClass/*!*/ self) {
            RubyModule module =
self.ExecutionContext.DefineModule(SymbolId.Empty);
            return RubyUtils.EvaluateInModule(module, block);
        }

Disclaimer: I haven't tried this at all.
Pete

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ben Hall
Sent: Saturday,27 September 27, 2008 13:54
To: [email protected]
Subject: [Ironruby-core] RubyModule CreateAnonymousModule -
NotImplementedException

Hello,

Just been playing around with IronRuby, however I am hitting an issue
with RubyModule.CreateAnonymousModule() - basically, it hasn't been
implemented yet :)

// Ruby constructor:
public static RubyModule/*!*/
CreateAnonymousModule([NotNull]BlockParam/*!*/ block, RubyClass/*!*/
self) {
  // TODO:
  throw new NotImplementedException();
}

You have implemented another method:
public static RubyModule/*!*/ CreateAnonymousModule(RubyClass/*!*/ self) {
   return self.ExecutionContext.DefineModule(SymbolId.Empty);
}

But I don't know how to to implement with relation to the block.  Is
it just not supported yet?

If you could provide me with any help that would be great, its really
blocking me at the moment.

Thanks
Ben
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to