Module: Sequel::SQL::BooleanMethods

Included in:
Dataset, LiteralString, BooleanExpression, GenericExpression, Symbol
Defined in:
lib/sequel/sql.rb

Overview

This module includes the boolean/logical AND (&), OR (|) and NOT (~) operators that are defined on objects that can be used in a boolean context in SQL (Symbol, LiteralString, and SQL::GenericExpression).

:a & :b # "a" AND "b"
:a | :b # "a" OR "b"
~:a # NOT "a"

One exception to this is when a NumericExpression or Integer is the argument to & or |, in which case a bitwise method will be used:

:a & 1 # "a" & 1 
:a | (:b + 1) # "a" | ("b" + 1)

Instance Method Summary collapse

Instance Method Details

#~Object

Create a new BooleanExpression with NOT, representing the inversion of whatever self represents.

~:a # NOT :a


313
314
315
# File 'lib/sequel/sql.rb', line 313

def ~
  BooleanExpression.invert(self)
end