instance method
collapse_wheres
Ruby on Rails 3.0.20
Since v3.0.20 Last seen in v4.2.9 PrivateSignature
collapse_wheres(arel, wheres)
No documentation comment.
Parameters
-
arelreq -
wheresreq
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
Defined in activerecord/lib/active_record/relation/query_methods.rb line 199
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::QueryMethods