🤖
[Feature #9779] 自身のクラスやモジュールが組み込まれているオブジェクトを取得する提案
[Feature #9779] Add Module#descendants
- 任意のクラスやモジュールがどのクラスに継承されていたり mixin されているのかを取得する
Module#descendants
を追加する提案
class X
end
class Y < X
end
class Z < Y
end
p X.descendants #=> [X, Y, Z]
module A
end
module B
include A
end
module C
include A
end
p A.descendants #=> [A, C, B]
-
Class#descendants
は ActiveSupport で拡張されているメソッド ですね - また数年前に Ruby 本体にも入る予定だったんですがいろいろとあり、そっちは対応されませんでした
- また
Module#descendants
の方は ActiveSupport にも同等の機能は存在していないです -
Module#descendants
相当の機能が欲しくて調べていたらこのチケットを見つけたんですがチケット自体は10年以上前のもので特に進展などないので特に需要なさそうなんですかねえ
Discussion