class ActiveRecord::Relation::WhereClause

def invert_predicate(node)

def invert_predicate(node)
  case node
  when NilClass
    raise ArgumentError, "Invalid argument for .where.not(), got nil."
  when String
    Arel::Nodes::Not.new(Arel::Nodes::SqlLiteral.new(node))
  else
    node.invert
  end
end