module LunaPark::Extensions::Repositories::Postgres::Update

Public Instance Methods

save(input) click to toggle source
# File lib/luna_park/extensions/repositories/postgres/update.rb, line 8
def save(input)
  entity = wrap(input)
  entity.updated_at = Time.now.utc
  row = to_row(entity)
  new_row = dataset.returning.where(primary_key => row[primary_key]).update(row).first
  new_attrs = from_row(new_row)
  entity.set_attributes(new_attrs)
  entity
end