Module: LunaPark::Extensions::Repositories::Postgres::Create
- Defined in:
- lib/luna_park/extensions/repositories/postgres/create.rb
Instance Method Summary collapse
Instance Method Details
#create(input, **scope_opts) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/luna_park/extensions/repositories/postgres/create.rb', line 8 def create(input, **scope_opts) entity = wrap(input) time = Time.now entity.created_at = time if entity.respond_to?(:created_at) entity.updated_at = time if entity.respond_to?(:updated_at) row = to_row(entity) new_row = scoped(**scope_opts).returning.insert(row).first new_attrs = from_row(new_row) entity.set_attributes(new_attrs) entity end |