class Module
def module_parents
M::N.module_parents # => [M, Object]
M.module_parents # => [Object]
X = M::N
end
end
module N
module M
nested outwards. The receiver is not contained within the result.
Returns all the parents of this module according to its name, ordered from
def module_parents parents = [] if module_parent_name parts = module_parent_name.split("::") until parts.empty? parents << ActiveSupport::Inflector.constantize(parts * "::") parts.pop end end parents << Object unless parents.include? Object parents end