method
collapse_wheres

collapse_wheres(arel, wheres)
private
Hide source
# File activerecord/lib/active_record/relation/query_methods.rb, line 199 def collapse_wheres(arel, wheres) equalities = wheres.grep(Arel::Nodes::Equality) groups = equalities.group_by do |equality| equality.left end groups.each do |_, eqls| test = eqls.inject(eqls.shift) do |memo, expr| memo.and(expr) end arel = arel.where(test) end (wheres - equalities).each do |where| where = Arel.sql(where) if String === where arel = arel.where(Arel::Nodes::Grouping.new(where)) end arel end