module Metanorma
Public Class Methods
all_modules(mod)
click to toggle source
# File lib/metanorma/standoc/version.rb, line 9 def all_modules(mod) [mod] + mod.constants.map { |c| mod.const_get(c) } .select { |c| c.is_a?(Module) && parent_of(c) == mod } .flat_map { |m| all_modules(m) } end
parent_of(mod)
click to toggle source
# File lib/metanorma/standoc/version.rb, line 4 def parent_of(mod) parent_name = mod.name =~ /::[^:]+\Z/ ? $`.freeze : nil Object.const_get(parent_name) if parent_name end
versioned(mod, flavour)
click to toggle source
# File lib/metanorma/standoc/version.rb, line 15 def versioned(mod, flavour) all_modules(mod).select { |c| defined? c::VERSION } .select { |c| c.name =~ /::#{flavour}$/ } end