aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
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)