Module: Citrus::ModuleNameHelpers
- Defined in:
- lib/citrus/file.rb
Overview
Some helper methods for rules that alias module_name and don’t want to use Kernel#eval to retrieve Module objects.
Instance Method Summary collapse
- #module_basename ⇒ Object
-
#module_name ⇒ Object
:nodoc:.
- #module_namespace ⇒ Object
- #module_segments ⇒ Object
Instance Method Details
#module_basename ⇒ Object
23 24 25 |
# File 'lib/citrus/file.rb', line 23 def module_basename module_segments.last end |
#module_name ⇒ Object
:nodoc:
9 10 11 |
# File 'lib/citrus/file.rb', line 9 def module_name capture(:module_name) end |
#module_namespace ⇒ Object
17 18 19 20 21 |
# File 'lib/citrus/file.rb', line 17 def module_namespace module_segments[0...-1].inject(Object) do |namespace, constant| constant.empty? ? namespace : namespace.const_get(constant) end end |
#module_segments ⇒ Object
13 14 15 |
# File 'lib/citrus/file.rb', line 13 def module_segments @module_segments ||= module_name.value.split('::') end |