Class: SQLTree::Node::LogicalNotExpression

Inherits:
Expression show all
Defined in:
lib/sql_tree/node/expression.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Expression

parse_atomic

Methods inherited from Base

[], #inspect, #quote_str, #quote_var

Constructor Details

#initialize(expression) ⇒ LogicalNotExpression

Returns a new instance of LogicalNotExpression.



44
45
46
# File 'lib/sql_tree/node/expression.rb', line 44

def initialize(expression)
  @expression = expression
end

Instance Attribute Details

#expressionObject

Returns the value of attribute expression.



42
43
44
# File 'lib/sql_tree/node/expression.rb', line 42

def expression
  @expression
end

Class Method Details

.parse(tokens) ⇒ Object



56
57
58
59
# File 'lib/sql_tree/node/expression.rb', line 56

def self.parse(tokens)
  tokens.consume(SQLTree::Token::NOT)
  self.new(SQLTree::Node::Expression.parse(tokens))
end

Instance Method Details

#==(other) ⇒ Object



52
53
54
# File 'lib/sql_tree/node/expression.rb', line 52

def ==(other)
  other.kind_of?(self.class) && other.expression == self.expression
end

#to_sqlObject



48
49
50
# File 'lib/sql_tree/node/expression.rb', line 48

def to_sql
  "NOT(#{@expression.to_sql})"
end