Module: Constant::Controls::Script
- Defined in:
- lib/constant/controls/script.rb
Defined Under Namespace
Classes: Example
Class Method Summary collapse
Class Method Details
.top_level_import(origin_name: nil, inner_constants: nil) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/constant/controls/script.rb', line 6 def self.top_level_import(origin_name: nil, inner_constants: nil) origin_name ||= "SomeOrigin" inner_constants ||= ["SomeInnerConstant"] inner_constant_definitions = inner_constants.map do |inner_constant_name| "#{inner_constant_name} = ::Module.new" end inner_constant_resolutions = inner_constants.map do |inner_constant_name| "puts #{inner_constant_name}.name" end definitions = inner_constant_definitions.join("\n") resolutions = inner_constant_resolutions.join("\n") source = <<~RUBY require "constant" module #{origin_name} #{definitions} end include Constant::Import import #{origin_name} #{resolutions} RUBY Example.new(source) end |