Mogę łatwo wspiąć się po hierarchii klas w Rubim:
String.ancestors # [String, Enumerable, Comparable, Object, Kernel]
Enumerable.ancestors # [Enumerable]
Comparable.ancestors # [Comparable]
Object.ancestors # [Object, Kernel]
Kernel.ancestors # [Kernel]
Czy jest jakiś sposób na zejście również z hierarchii? Chciałbym to zrobić
Animal.descendants # [Dog, Cat, Human, ...]
Dog.descendants # [Labrador, GreatDane, Airedale, ...]
Enumerable.descendants # [String, Array, ...]
ale wydaje się, że nie ma descendantsmetody.
(To pytanie pojawia się, ponieważ chcę znaleźć wszystkie modele w aplikacji Railsów, które pochodzą z klasy bazowej i je wyświetlić; Mam kontroler, który może pracować z każdym takim modelem i chciałbym móc dodawać nowe modele bez konieczności modyfikowania kontrolera.)