John - I have a couple of suggestions that I think may make the RubyCLR experience better. I spent a bit of time trying to understand the way you can sync Ruby objects with .NET objects, and I think I understand how now, but the documentation on the RubyCLR site is currently scarce, and there were some things that weren't intuitively obvious.

  1. Expose all Ruby methods in Bindable classes, instead of only exposing Ruby methods whose signature match declared interfaces. This may not be that usable in C#, but in VB, this would be awesome in combination with the late binder. You can really have a dynamic experience in both Ruby and VB if this were enabled.
  2. get_binding_context should be optional; I may not want to expose properties in my class.
  3. The '::' and '.' operators aren't terribly consistent. For example, when binding to the type directly from Ruby, '::' is used as a namespace selector. But when used in 'clr_interfaces' you have to use '.' because the CLR expects '.' delimited namespace names. It would be more consistent to use '::' in clr_interfaces and then remap them internally.

All in all though, RubyCLR is amazing. I'll be posting more of my work in the next few days, and I hope that it will help people play with and start using

RubyCLR.tags: , ,