Module: Sequel::Plugins::Duplicate::ClassMethods

Defined in:
lib/sequel/plugins/duplicate.rb

Instance Method Summary collapse

Instance Method Details

#duplicate(model, **new_attrs) ⇒ Sequel::Model

Returns a copy of current model

Parameters:

  • model (Sequel::Model)

    source object

  • new_attrs (Hash)

    attributes to override

Returns:

  • (Sequel::Model)


12
13
14
15
16
# File 'lib/sequel/plugins/duplicate.rb', line 12

def duplicate(model, **new_attrs)
  pk = *primary_key
  attrs = model.values.reject { |key, *| pk.include?(key) }
  new(**attrs, **new_attrs)
end