Saya dapat dengan mudah naik hierarki kelas di Ruby:
String.ancestors # [String, Enumerable, Comparable, Object, Kernel]
Enumerable.ancestors # [Enumerable]
Comparable.ancestors # [Comparable]
Object.ancestors # [Object, Kernel]
Kernel.ancestors # [Kernel]
Apakah ada cara untuk menurunkan hierarki juga? Saya ingin melakukan ini
Animal.descendants # [Dog, Cat, Human, ...]
Dog.descendants # [Labrador, GreatDane, Airedale, ...]
Enumerable.descendants # [String, Array, ...]
tapi sepertinya tidak ada descendantsmetode.
(Pertanyaan ini muncul karena saya ingin menemukan semua model dalam aplikasi Rails yang turun dari kelas dasar dan mencantumkannya; Saya memiliki pengontrol yang dapat bekerja dengan model seperti itu dan saya ingin dapat menambahkan model baru tanpa harus memodifikasi controller.)