From 267d153f2d3d25fcb67898d8d9635384f52449a3 Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Sun, 30 Dec 2012 10:45:01 +0100 Subject: [PATCH] Implemented create_ot_update() to all models. --- app/models/application_model.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/models/application_model.rb b/app/models/application_model.rb index 235f22f3a..fe1d7bb44 100644 --- a/app/models/application_model.rb +++ b/app/models/application_model.rb @@ -50,4 +50,21 @@ class ApplicationModel < ActiveRecord::Base end self.create(data) end + + def self.create_or_update(data) + if data[:name] + record = self.where( :name => data[:name] ).first + if record + puts 'update ' + data[:name].to_s + record.update_attributes( :data => data[:data] ) + else + puts 'create ' + data[:name].to_s + record = self.new( data ) + record.save + end + return record + else + raise "Need name for create_or_update()" + end + end end