Module: Sandwich::Model::Base

Included in:
Machinist
Defined in:
lib/sandwich/model/base.rb

Defined Under Namespace

Modules: Extensions

Instance Method Summary collapse

Instance Method Details

#definition(str) ⇒ Object



160
161
162
# File 'lib/sandwich/model/base.rb', line 160

def definition(str)
  DefinitionScanner.new(str, Sandwich::Model.attribute_separators)
end

#materialize!(match) ⇒ Object



142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# File 'lib/sandwich/model/base.rb', line 142

def materialize!(match)
  determiner, model, values = definition(match).model_definition
  
  return match if model.nil?

  if creator?(determiner)
    if determiner.to_i == 1
      record!(model, values)
    else
      determiner.times.map { record!(model.singularize, values) }
    end
  else
    record(model, values)
  end
rescue ModelNotFoundError
  return match
end