From 88219cc88aadf75fe57a1ecacbe92a7acef64145 Mon Sep 17 00:00:00 2001 From: Ben Woosley Date: Fri, 10 May 2013 11:47:45 +0200 Subject: Pull the excepts into apply_join_dependency, for the sake of DRY. --- activerecord/lib/active_record/relation/finder_methods.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'activerecord') 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 -- cgit v1.2.3