Robert Klemme schrieb:
> 1. Find them when you need them via ObjectSpace:
> 
> ObjectSpace.each_object(Module) {|m| subclasses << m if m.ancestors.include? cl}

If you want to find subclasses of a *class* instead of a module, you can 
pass the singleton class of the base class:

   require "enumerator"

   def get_subclasses(klass)
     ObjectSpace.enum_for(:each_object, class << klass; self; end).to_a
   end

Horacio, if you need help to decipher this code, feel free to ask.

Regards,
Pit