Top Level Namespace
Defined Under Namespace
Modules: UsefulMatchers
Instance Method Summary collapse
Instance Method Details
#recurse_to_leaf_modules(mod) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/useful_matchers/matchers.rb', line 8 def recurse_to_leaf_modules(mod) leaf_nodes = [] next_level = mod.constants.collect { |c| mod.const_get(c) }.select { |c| c.instance_of?(Module) }.each do |child| leaf_nodes.concat recurse_to_leaf_modules child end if next_level.empty? && mod.instance_of?(Module) return [mod] else return leaf_nodes end end |