make it more idiomatic

This commit is contained in:
Sam 2013-10-02 12:23:16 +10:00
parent 5f8851cb44
commit a3128665cf

View File

@ -12,17 +12,9 @@ class ActiveRecord::Base
end end
# note: update_attributes still spins up a transaction this can cause contention # note: update_attributes still spins up a transaction this can cause contention
# this method performs the raw update sidestepping AR # this method performs the raw update sidestepping the locking
def update_columns(hash) def update_columns(hash)
sql = "UPDATE #{ self.class.table_name } SET " self.class.update_all(hash, self.class.primary_key => self.id)
sql << hash.map do |k,v|
"#{k} = :#{k}"
end.join(",")
sql << " WHERE id = :id"
exec_sql(sql, hash.merge(id: self.id))
end end
def exec_sql(*args) def exec_sql(*args)