Class: Dslable::Generators::ProductCodes::DslModel

Inherits:
Object
  • Object
show all
Defined in:
lib/generators/product_codes/dsl_model.rb

Constant Summary collapse

DSL_MODEL_TEMPLATE =
"# encoding: utf-8\nrequire 'active_model'\n\n# rubocop:disable LineLength\nmodule <%=gem_name_camel%>\n  # DslModel\n  class DslModel\ninclude ActiveModel::Model\n\n<%=fields%>\n  end\nend\n# rubocop:enable LineLength\n"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_dsl) ⇒ DslModel

initialize dsl model

Params

  • _dsl: input from dsl



30
31
32
33
# File 'lib/generators/product_codes/dsl_model.rb', line 30

def initialize(_dsl)
  fail InvalidDslError.new('dsl not allow nil') if _dsl.nil?
  @dsl = _dsl
end

Instance Attribute Details

#dslObject

Returns the value of attribute dsl.



25
26
27
# File 'lib/generators/product_codes/dsl_model.rb', line 25

def dsl
  @dsl
end

Instance Method Details

#generateObject



35
36
37
38
# File 'lib/generators/product_codes/dsl_model.rb', line 35

def generate
  dsl_model_src = adapt_template(@dsl.camelized_gem_name, get_fields)
  generate_dsl_model_src dsl_model_src
end