method
invert_predicate
v6.0.0 -
Show latest stable
- Class:
ActiveRecord::Relation::WhereClause
invert_predicate(node)private
No documentation available.
# File activerecord/lib/active_record/relation/where_clause.rb, line 126
def invert_predicate(node)
case node
when NilClass
raise ArgumentError, "Invalid argument for .where.not(), got nil."
when Arel::Nodes::In
Arel::Nodes::NotIn.new(node.left, node.right)
when Arel::Nodes::IsNotDistinctFrom
Arel::Nodes::IsDistinctFrom.new(node.left, node.right)
when Arel::Nodes::IsDistinctFrom
Arel::Nodes::IsNotDistinctFrom.new(node.left, node.right)
when Arel::Nodes::Equality
Arel::Nodes::NotEqual.new(node.left, node.right)
when String
Arel::Nodes::Not.new(Arel::Nodes::SqlLiteral.new(node))
else
Arel::Nodes::Not.new(node)
end
end