Module: CSVInteractable::InstanceMethods

Included in:
LocalModel::CSV
Defined in:
lib/local_model/concerns/csv_interactable.rb

Instance Method Summary collapse

Instance Method Details

#saveObject



217
218
219
220
221
222
223
224
225
226
227
228
229
230
# File 'lib/local_model/concerns/csv_interactable.rb', line 217

def save
  model_schema = self.class.get_schema
  self_data = model_schema.reduce({}) do |mem, (k,v)|
    mem[k] = self.send(k)
    mem
  end
  if self.id.nil?
    id = self.class.append_row(self_data)
    self.id = id
    !!id
  else
    return self.class.mutate_row(self_data)
  end
end

#save!Object



232
233
234
235
236
# File 'lib/local_model/concerns/csv_interactable.rb', line 232

def save!
  if !save
    raise LocalModel::RecordInvalid
  end
end