Class: ActiveRecord::Refined::AST::TruthValue
- Defined in:
- lib/active_record/refined/ast.rb
Overview
IS TRUE, IS FALSE and their negations, which every adapter spells the same way and answers alike, NULL included.
Instance Attribute Summary collapse
-
#negated ⇒ Object
readonly
Returns the value of attribute negated.
-
#operand ⇒ Object
readonly
Returns the value of attribute operand.
-
#value ⇒ Object
readonly
Returns the value of attribute value.
Instance Method Summary collapse
-
#initialize(operand, value, negated: false) ⇒ TruthValue
constructor
A new instance of TruthValue.
- #to_arel(table, model) ⇒ Object
Methods inherited from Predicate
Methods inherited from Node
Constructor Details
#initialize(operand, value, negated: false) ⇒ TruthValue
Returns a new instance of TruthValue.
1372 1373 1374 1375 1376 |
# File 'lib/active_record/refined/ast.rb', line 1372 def initialize(operand, value, negated: false) @operand = operand @value = value @negated = negated end |
Instance Attribute Details
#negated ⇒ Object (readonly)
Returns the value of attribute negated.
1370 1371 1372 |
# File 'lib/active_record/refined/ast.rb', line 1370 def negated @negated end |
#operand ⇒ Object (readonly)
Returns the value of attribute operand.
1370 1371 1372 |
# File 'lib/active_record/refined/ast.rb', line 1370 def operand @operand end |
#value ⇒ Object (readonly)
Returns the value of attribute value.
1370 1371 1372 |
# File 'lib/active_record/refined/ast.rb', line 1370 def value @value end |
Instance Method Details
#to_arel(table, model) ⇒ Object
1378 1379 1380 1381 1382 |
# File 'lib/active_record/refined/ast.rb', line 1378 def to_arel(table, model) literal = value ? Arel::Nodes::True.new : Arel::Nodes::False.new Arel::Nodes::InfixOperation.new(negated ? 'IS NOT' : 'IS', to_arel_operand(operand, table, model), literal) end |