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 =
<<-EOF # encoding: utf-8 require '<%=gem_name%>_dsl_model' module <%=gem_name_camel%> class Dsl attr_accessor :<%=gem_name%> # String Define [<%=string_fields%>].each do |f| define_method f do |value| eval "@<%=gem_name%>.#\{f.to_s} = '#\{value}'", binding end end # Array/Hash/Boolean Define [<%=array_hash_fields%>].each do |f| define_method f do |value| eval "@<%=gem_name%>.#\{f.to_s} = #\{value}", binding end end def initialize @<%=gem_name%> = <%=gem_name_camel%>::DslModel.new <%=set_defaults%> end end end EOF
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 |