Sha256: 8a164362e59877a3d78f2b6b096f474b9a04fca8d36815933aee8444d34ca08f
Contents?: true
Size: 673 Bytes
Versions: 1
Compression:
Stored size: 673 Bytes
Contents
# frozen_string_literal: true module LunaPark module Extensions module Repositories module Postgres module Update def save(input, **scope_opts) entity = wrap(input) entity.updated_at = Time.now if entity.respond_to?(:updated_at) row = to_row(entity) new_row = scoped(**scope_opts).where(primary_key => row[primary_key]).returning.update(row).first found! new_row, not_found_by: { primary_key => row[primary_key] } new_attrs = from_row(new_row) entity.set_attributes(new_attrs) entity end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
luna_park-0.13.1 | lib/luna_park/extensions/repositories/postgres/update.rb |