当您将模块包含在类或其他模块中时,您可以调用
@mymod.included_modules
获取包含的模块列表.
是否有等同的列出模块扩展的模块?
module Feature1 end module Feature2 extend Feature1 end Feature2.extended_modules #=> [Feature1]
解决方法
他们在那里,你只需要看正确的地方:
(class << Feature2; self end).included_modules # [Feature1,Kernel]
我们可以这样推广:
class Module # Return any modules we +extend+ def extended_modules (class << self; self end).included_modules end end # Now get those extended modules peculiar to Feature2 Feature2.extended_modules - Module.extended_modules # [Feature1]