This is the biggest release of RubyCLR yet. You can download it here. Here’s a brief summary of RubyCLR as of this drop:

  • Reference .NET assemblies by assembly name or by filename
  • Create and manipulate .NET reference and value types
  • Automatically marshal .NET reference and value types to / from Ruby
  • Dynamic generation of interop code using CIL instructions
  • Create and manipulate generic .NET reference types
  • Discover and consume .NET interfaces on a .NET object
  • Implement .NET event handlers using Ruby blocks
  • Map .NET member names to Ruby names (e.g. WordCount becomes word_count)
  • Mix in Ruby Enumerable support for .NET IEnumerable types
  • Dynamically access .NET XML documentation from irb (requires text/format – to make it work uncomment require in rubyclr.rb)

There are several sample applications to show you what’s possible:

  • GoogleCalc lets you access Google’s calculator from a rich client application
  • RssReader is a Windows Forms 2.0 RSS reader
  • Math is a Windows Presentation Foundation (aka Avalon) application that renders math equations using a domain specific language

The source code has been massively reorganized from the last drop. If you’re using Komodo you’ll find Komodo project files in this drop to make it easier to navigate the non C++ source code.

I’m going to be pretty busy for the next three weeks doing work to pay the bills around here, so work is going to slow down quite a bit on the bridge. I hope this release is of sufficient quality to sustain y’all for the next month or so. Let me know by email (jlam at this domain) if you have any reproducible showstopper bugs and I’ll see what I can do to get a patch out the door.

Enjoy!