Posso facilmente risalire alla gerarchia di classi in Ruby:
String.ancestors # [String, Enumerable, Comparable, Object, Kernel]
Enumerable.ancestors # [Enumerable]
Comparable.ancestors # [Comparable]
Object.ancestors # [Object, Kernel]
Kernel.ancestors # [Kernel]
C'è un modo per discendere anche nella gerarchia? Mi piacerebbe farlo
Animal.descendants # [Dog, Cat, Human, ...]
Dog.descendants # [Labrador, GreatDane, Airedale, ...]
Enumerable.descendants # [String, Array, ...]
ma non sembra esserci un descendants
metodo.
(Questa domanda sorge perché voglio trovare tutti i modelli in un'applicazione Rails che discendono da una classe base ed elencarli; ho un controller in grado di funzionare con qualsiasi modello e mi piacerebbe poter aggiungere nuovi modelli senza dover modificare il controller.)