Module: LunaPark::Extensions::Repositories::Postgres::Update

Defined in:
lib/luna_park/extensions/repositories/postgres/update.rb

Instance Method Summary collapse

Instance Method Details

#save(input) ⇒ Object



8
9
10
11
12
13
14
15
16
# 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