2013/07/22

特定のモジュールがextendされているかを調べる

include したモジュールは included_modules 経由で調べられるが、extend したモジュールを取得する extend_modules のような API はなかった。
調べてみたところ、一手間かけたら取得することができるみたいだ。
module Foo
end
class Bar
extend Foo
end
Bar.included_modules.include?(Foo)
Bar.include?(Foo)
# => false
(class << Bar self end).included_modules.include?(Foo)
Bar.singleton_class.include?(Foo)
# => true

0 件のコメント :

コメントを投稿