Class: ClassComposer::GenerateConfig
- Inherits:
-
Object
- Object
- ClassComposer::GenerateConfig
- Defined in:
- lib/class_composer/generate_config.rb
Constant Summary collapse
- NOTICE =
"=begin\nThis configuration files lists all the configuration options available.\nTo change the default value, uncomment the line and change the value.\nPlease take note: Values set as `=` to a config variable are the current default values when none is assigned\n=end\n"
Instance Attribute Summary collapse
-
#instance ⇒ Object
readonly
Returns the value of attribute instance.
Instance Method Summary collapse
- #execute(wrapping:, require_file:, space_count: 1, config_name: "config") ⇒ Object
-
#initialize(instance:) ⇒ GenerateConfig
constructor
A new instance of GenerateConfig.
Constructor Details
#initialize(instance:) ⇒ GenerateConfig
Returns a new instance of GenerateConfig.
14 15 16 17 18 |
# File 'lib/class_composer/generate_config.rb', line 14 def initialize(instance:) raise ArgumentError, ":instance class (#{instance}) must include ClassComposer::Generator. It does not" unless instance.include?(ClassComposer::Generator) @instance = instance end |
Instance Attribute Details
#instance ⇒ Object (readonly)
Returns the value of attribute instance.
5 6 7 |
# File 'lib/class_composer/generate_config.rb', line 5 def instance @instance end |
Instance Method Details
#execute(wrapping:, require_file:, space_count: 1, config_name: "config") ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/class_composer/generate_config.rb', line 20 def execute(wrapping:, require_file:, space_count: 1, config_name: "config") mapping = instance.composer_mapping generated_config = generate(mapping:, space_count:, demeters_deep:[config_name]) stringified = "" stringified += "require \"#{require_file}\"\n\n" if require_file stringified += NOTICE stringified += "\n" stringified += "#{wrapping} do |#{config_name}|\n" flattened_config = generated_config.flatten(1).map { _1.join(" ") } flattened_config.pop if flattened_config[-1] == "" stringified += flattened_config.join("\n") stringified += "\nend" stringified end |