Tim Ng, who works on the Visual Basic compiler team, has spent some time digging into RubyCLR and has some nice things to say about it. That post is really nice because he shows how to explicitly call Ruby methods from VB.
Tim is interested in a scenario that frankly I haven’t spent much time thinking about – and that is hosting Ruby inside of a Visual Basic (or any other .NET language for that matter). Most of the effort that I’ve put into making Ruby objects callable from CLR objects has been focused on data binding scenarios, but Tim wants more :)
Most of his requests on that list are very reasonable. The only real problem is making all methods of a Ruby object available to be called from VB. The challenge there is that you can add methods to a Ruby object or class at any time. I create the moral equivalent of a Runtime Callable Wrapper class, but like any other .NET class, it’s static. Now I don’t really know how RCWs are really implemented, so if someone can help me understand how to build a CLR object that does the equivalent of method_missing in Ruby, that will help me get this feature out the door faster.