Added :id support to create_or_update method.
This commit is contained in:
parent
d2170259e5
commit
02f5cf76df
1 changed files with 11 additions and 2 deletions
|
@ -358,7 +358,7 @@ returns
|
|||
|
||||
=begin
|
||||
|
||||
create or update model (check exists based on name, login or locale)
|
||||
create or update model (check exists based on id, name, login or locale)
|
||||
|
||||
result = Model.create_or_update( attributes )
|
||||
|
||||
|
@ -369,7 +369,16 @@ returns
|
|||
=end
|
||||
|
||||
def self.create_or_update(data)
|
||||
if data[:name]
|
||||
if data[:id]
|
||||
records = self.where( :id => data[:id] )
|
||||
records.each {|record|
|
||||
record.update_attributes( data )
|
||||
return record
|
||||
}
|
||||
record = self.new( data )
|
||||
record.save
|
||||
return record
|
||||
elsif data[:name]
|
||||
records = self.where( :name => data[:name] )
|
||||
records.each {|record|
|
||||
if record.name == data[:name]
|
||||
|
|
Loading…
Reference in a new issue