aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation.rb
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2009-12-28 12:33:35 +0530
committerPratik Naik <pratiknaik@gmail.com>2009-12-28 12:42:06 +0530
commita3c1db4e444baa8ae4f8d968fab786e03c93f413 (patch)
tree0a4aaf8ff52648ff9e9593c867300765a66d3445 /activerecord/lib/active_record/relation.rb
parent1c47d04ea5ac19601b316daf8fdc6f38c50eec73 (diff)
downloadrails-a3c1db4e444baa8ae4f8d968fab786e03c93f413.tar.gz
rails-a3c1db4e444baa8ae4f8d968fab786e03c93f413.tar.bz2
rails-a3c1db4e444baa8ae4f8d968fab786e03c93f413.zip
Add Model.lock and relation#lock now that arel has locking
Diffstat (limited to 'activerecord/lib/active_record/relation.rb')
-rw-r--r--activerecord/lib/active_record/relation.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/relation.rb b/activerecord/lib/active_record/relation.rb
index 530402bf5d..a7f62abe1d 100644
--- a/activerecord/lib/active_record/relation.rb
+++ b/activerecord/lib/active_record/relation.rb
@@ -55,6 +55,17 @@ module ActiveRecord
orders.present? ? create_new_relation(@relation.order(orders)) : create_new_relation
end
+ def lock(locks = true)
+ case locks
+ when String
+ create_new_relation(@relation.lock(locks))
+ when TrueClass, NilClass
+ create_new_relation(@relation.lock)
+ else
+ create_new_relation
+ end
+ end
+
def reverse_order
relation = create_new_relation
relation.instance_variable_set(:@orders, nil)