Rubyでクラス階層を簡単に昇格できます。
String.ancestors # [String, Enumerable, Comparable, Object, Kernel]
Enumerable.ancestors # [Enumerable]
Comparable.ancestors # [Comparable]
Object.ancestors # [Object, Kernel]
Kernel.ancestors # [Kernel]
階層を下る方法もありますか?これをやりたい
Animal.descendants # [Dog, Cat, Human, ...]
Dog.descendants # [Labrador, GreatDane, Airedale, ...]
Enumerable.descendants # [String, Array, ...]
しかし、descendants
メソッドはないようです。
(ベースクラスから派生したRailsアプリケーション内のすべてのモデルを見つけて一覧表示したいので、この質問が出てきます。そのようなモデルで機能するコントローラーがあり、新しいモデルを追加できるようにしたいのですがコントローラを変更する必要はありません。)