jenkinsci/jenkins-plugin-runtime.rb — pull request #1 by kohsuke (2011-12-31 21:19:42+00:00)
Title: Deal with Descriptor subtypes defined in the core

Modern extension points in core defines custom Descriptor subtype, such as AxisDescriptor. These types need to be subclassed in Ruby and various methods overridden to make it work with Ruby. This pull request enables this by creating a RubyDescriptor module, which can be then included into individual Descriptor subtypes.

This pull request also introduces a simplar mix-in module for Describable named `Jenkins::Plugin::Proxies::Describable` Unfortunately, due to what appears to be a restriction in JRuby, I couldn't have this module include `Java.jenkins.ruby.Get` and `Jenkins::Plugin::Proxy`, which would have made the code even more cleaner.

See [the RVM plugin source code](https://github.com/jenkinsci/rvm-plugin/blob/axis/models/axis.rb) for an example of actually putting this into use