aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2009-12-29 15:28:40 +0530
committerPratik Naik <pratiknaik@gmail.com>2009-12-29 15:28:40 +0530
commit0a1ff1a14ffcc96204ba1d391207d13e68cda8b0 (patch)
tree8cda13bb902b8f8d01410f06d853abb0cc08a53f /activerecord
parent1785e1b26e761cfad365869b5dc36ce8495cf2b5 (diff)
downloadrails-0a1ff1a14ffcc96204ba1d391207d13e68cda8b0.tar.gz
rails-0a1ff1a14ffcc96204ba1d391207d13e68cda8b0.tar.bz2
rails-0a1ff1a14ffcc96204ba1d391207d13e68cda8b0.zip
Rewrite Relation#readonly, eager_load, preload using Object#tap
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/relation.rb16
1 files changed, 4 insertions, 12 deletions
diff --git a/activerecord/lib/active_record/relation.rb b/activerecord/lib/active_record/relation.rb
index e40432bf6a..72e7c234eb 100644
--- a/activerecord/lib/active_record/relation.rb
+++ b/activerecord/lib/active_record/relation.rb
@@ -33,21 +33,15 @@ module ActiveRecord
alias :& :merge
def preload(*associations)
- relation = spawn
- relation.preload_associations += Array.wrap(associations)
- relation
+ spawn.tap {|r| r.preload_associations += Array.wrap(associations) }
end
def eager_load(*associations)
- relation = spawn
- relation.eager_load_associations += Array.wrap(associations)
- relation
+ spawn.tap {|r| r.eager_load_associations += Array.wrap(associations) }
end
def readonly(status = true)
- relation = spawn
- relation.readonly = status
- relation
+ spawn.tap {|r| r.readonly = status }
end
def select(selects)
@@ -135,9 +129,7 @@ module ActiveRecord
@relation.join(join, join_type)
end
- relation = spawn(join_relation)
- relation.readonly = true
- relation
+ spawn(join_relation) { |r| r.readonly = true }
end
def where(*args)