# File lib/searchlogic/active_record/consistency.rb, line 27 def merge_joins_with_consistent_conditions(*args) joins = merge_joins_without_consistent_conditions(*args) joins.collect do |j| if j.is_a?(String) && (j =~ / (AND|OR) /i).nil? j.gsub(/(.*) ON (.*) = (.*)/) do |m| join, cond1, cond2 = $1, $2, $3 sorted = [cond1.gsub(/\(|\)/, ""), cond2.gsub(/\(|\)/, "")].sort "#{join} ON #{sorted[0]} = #{sorted[1]}" end else j end end.uniq end