aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorBen Woosley <ben.woosley@gmail.com>2013-05-10 11:47:45 +0200
committerBen Woosley <ben.woosley@gmail.com>2013-05-10 17:46:04 +0200
commit88219cc88aadf75fe57a1ecacbe92a7acef64145 (patch)
tree0be016572c340bf2b96634637472b5cd84f5295c /activerecord/lib/active_record
parent1dcb1ccc9d3d4f41e8f1a76ff3465f708189dd2f (diff)
downloadrails-88219cc88aadf75fe57a1ecacbe92a7acef64145.tar.gz
rails-88219cc88aadf75fe57a1ecacbe92a7acef64145.tar.bz2
rails-88219cc88aadf75fe57a1ecacbe92a7acef64145.zip
Pull the excepts into apply_join_dependency, for the sake of DRY.
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/relation/finder_methods.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/relation/finder_methods.rb b/activerecord/lib/active_record/relation/finder_methods.rb
index 9a774b5abc..ed5fe2c683 100644
--- a/activerecord/lib/active_record/relation/finder_methods.rb
+++ b/activerecord/lib/active_record/relation/finder_methods.rb
@@ -217,16 +217,17 @@ module ActiveRecord
def construct_relation_for_association_calculations
including = (eager_load_values + includes_values).uniq
join_dependency = ActiveRecord::Associations::JoinDependency.new(@klass, including, arel.froms.first)
- relation = except(:includes, :eager_load, :preload)
- apply_join_dependency(relation, join_dependency)
+ apply_join_dependency(self, join_dependency)
end
def construct_relation_for_association_find(join_dependency)
- relation = except(:includes, :eager_load, :preload, :select).select(join_dependency.columns)
+ relation = except(:select).select(join_dependency.columns)
apply_join_dependency(relation, join_dependency)
end
def apply_join_dependency(relation, join_dependency)
+ relation = relation.except(:includes, :eager_load, :preload)
+
join_dependency.join_associations.each do |association|
relation = association.join_relation(relation)
end