Class: Dslable::Generators::ProductCodes::Dsl
- Inherits:
-
Object
- Object
- Dslable::Generators::ProductCodes::Dsl
- Defined in:
- lib/generators/product_codes/dsl.rb
Constant Summary collapse
- DSL_TEMPLATE =
"# encoding: utf-8\nrequire '<%=gem_name%>_dsl_model'\n\nmodule <%=gem_name_camel%>\n class Dsl\nattr_accessor :<%=gem_name%>\n\n# String Define\n[<%=string_fields%>].each do |f|\n define_method f do |value|\n eval \"@<%=gem_name%>.#\\{f.to_s} = '#\\{value}'\", binding\n end\nend\n\n# Array/Hash/Boolean Define\n[<%=array_hash_fields%>].each do |f|\n define_method f do |value|\n eval \"@<%=gem_name%>.#\\{f.to_s} = #\\{value}\", binding\n end\nend\n\ndef initialize\n @<%=gem_name%> = <%=gem_name_camel%>::DslModel.new\n<%=set_defaults%>\nend\n end\nend\n"
Instance Attribute Summary collapse
-
#dsl ⇒ Object
Returns the value of attribute dsl.
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(_dsl) ⇒ Dsl
constructor
initialize dsl === Params - _dsl: input from dsl.
Constructor Details
#initialize(_dsl) ⇒ Dsl
initialize dsl
Params
-
_dsl: input from dsl
44 45 46 47 |
# File 'lib/generators/product_codes/dsl.rb', line 44 def initialize(_dsl) fail InvalidDslError.new('dsl not allow nil') if _dsl.nil? @dsl = _dsl end |
Instance Attribute Details
#dsl ⇒ Object
Returns the value of attribute dsl.
39 40 41 |
# File 'lib/generators/product_codes/dsl.rb', line 39 def dsl @dsl end |
Instance Method Details
#generate ⇒ Object
49 50 51 52 |
# File 'lib/generators/product_codes/dsl.rb', line 49 def generate dsl_src = adapt_template(@dsl.camelized_gem_name, get_string_fields, get_other_fields, get_set_defaults) generate_dsl_src dsl_src end |