Descobrindo os objetos filho em Ruby

Com Rails 3 e superior, é tão fácil quanto

ParentClass.subclasses # for the first level down
ParentClass.descendants # for the whole family tree

Sem Rails, é preciso um pouco de script:

class Class
def descendants
ObjectSpace.each_object(::Class).select { |klass| klass < self }
end
end