class ActiveRecord::Relation::WhereClause
def except_predicates(columns)
def except_predicates(columns) attrs = columns.extract! { |node| node.is_a?(Arel::Attribute) } non_attrs = columns.extract! { |node| node.is_a?(Arel::Predications) } predicates.reject do |node| if !non_attrs.empty? && node.equality? && node.left.is_a?(Arel::Predications) non_attrs.include?(node.left) end || Arel.fetch_attribute(node) do |attr| attrs.include?(attr) || columns.include?(attr.name.to_s) end end end