aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/locking
diff options
context:
space:
mode:
authorbogdanvlviv <bogdanvlviv@gmail.com>2017-04-22 14:23:30 +0300
committerbogdanvlviv <bogdanvlviv@gmail.com>2017-06-12 23:22:20 +0300
commit89d562edbac3a2cfb9f31b1019feed7139cf7067 (patch)
treeb9bfc0ac4c55f2be787739e3b91462edd4b4d550 /activerecord/lib/active_record/locking
parent7b1ee9f54c5906b49b60b300212e17e0290e8ee5 (diff)
downloadrails-89d562edbac3a2cfb9f31b1019feed7139cf7067.tar.gz
rails-89d562edbac3a2cfb9f31b1019feed7139cf7067.tar.bz2
rails-89d562edbac3a2cfb9f31b1019feed7139cf7067.zip
Clean up 'Optimistic Locking' implementation
Diffstat (limited to 'activerecord/lib/active_record/locking')
-rw-r--r--activerecord/lib/active_record/locking/optimistic.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/locking/optimistic.rb b/activerecord/lib/active_record/locking/optimistic.rb
index 3c7110369b..f8fcb7ccaa 100644
--- a/activerecord/lib/active_record/locking/optimistic.rb
+++ b/activerecord/lib/active_record/locking/optimistic.rb
@@ -62,8 +62,8 @@ module ActiveRecord
def increment_lock
lock_col = self.class.locking_column
- previous_lock_value = send(lock_col).to_i
- send(lock_col + "=", previous_lock_value + 1)
+ previous_lock_value = send(lock_col)
+ send("#{lock_col}=", previous_lock_value + 1)
end
def _create_record(attribute_names = self.attribute_names, *)
@@ -107,7 +107,8 @@ module ActiveRecord
# If something went wrong, revert the locking_column value.
rescue Exception
- send(lock_col + "=", previous_lock_value.to_i)
+ send("#{lock_col}=", previous_lock_value.to_i)
+
raise
end
end