From bff89a2022aedec60929f6d6744eefc84a5c102a Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Mon, 20 May 2013 17:49:16 -0700 Subject: [PATCH] eliminate some conditionals --- activerecord/lib/active_record/relation/merger.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/activerecord/lib/active_record/relation/merger.rb b/activerecord/lib/active_record/relation/merger.rb index 0f54d91d86d8b..98afeb8cc58c4 100644 --- a/activerecord/lib/active_record/relation/merger.rb +++ b/activerecord/lib/active_record/relation/merger.rb @@ -145,10 +145,10 @@ def merged_wheres # Remove equalities from the existing relation with a LHS which is # present in the relation being merged in. def reject_overwrites(lhs_wheres, rhs_wheres) - seen = Set.new - rhs_wheres.each do |w| - seen << w.left if w.respond_to?(:operator) && w.operator == :== + nodes = rhs_wheres.find_all do |w| + w.respond_to?(:operator) && w.operator == :== end + seen = Set.new(nodes) { |node| node.left } lhs_wheres.reject do |w| w.respond_to?(:operator) && w.operator == :== && seen.include?(w.left)