Module: Metanorma
- Defined in:
- lib/metanorma/standoc.rb,
lib/metanorma/standoc/version.rb,
lib/metanorma/standoc/processor.rb
Defined Under Namespace
Modules: Standoc
Class Method Summary collapse
Class Method Details
.all_modules(mod) ⇒ Object
9 10 11 12 13 |
# 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) ⇒ Object
4 5 6 7 |
# 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) ⇒ Object
15 16 17 18 |
# 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 |