make it more idiomatic
This commit is contained in:
parent
5f8851cb44
commit
a3128665cf
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue