Method: Sequel::Plugins::UpdateOrCreate::ClassMethods#update_or_create

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

#update_or_create(attrs, set_attrs = nil, &block) ⇒ Object

Attempt to find an record with the attrs, which should be a hash with column symbol keys. If such an record exists, update it with the values given in set_attrs. If no such record exists, create a new record with the columns specified by both attrs and set_attrs, with the ones in set_attrs taking priority. If a block is given, the object is yielded to the block before the object is saved. Returns the new or updated object.

[View source]

47
48
49
50
51
# File 'lib/sequel/plugins/update_or_create.rb', line 47

def update_or_create(attrs, set_attrs=nil, &block)
  obj = find_or_new(attrs, set_attrs, &block)
  obj.save_changes
  obj
end