Class: Squeel::Nodes::Binary

Inherits:
Object
  • Object
show all
Includes:
PredicateOperators
Defined in:
lib/squeel/nodes/binary.rb

Overview

A node that represents an operation with two operands.

Direct Known Subclasses

As, Or

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from PredicateOperators

#&, #-@, #|

Constructor Details

#initialize(left, right) ⇒ Binary

Returns a new instance of Binary.

Parameters:

  • left

    The left operand

  • right

    The right operand



16
17
18
# File 'lib/squeel/nodes/binary.rb', line 16

def initialize(left, right)
  @left, @right = left, right
end

Instance Attribute Details

#leftObject (readonly)

The left operand



9
10
11
# File 'lib/squeel/nodes/binary.rb', line 9

def left
  @left
end

#rightObject (readonly)

The right operand



12
13
14
# File 'lib/squeel/nodes/binary.rb', line 12

def right
  @right
end

Instance Method Details

#eql?(other) ⇒ Boolean

Comparison with other nodes

Returns:

  • (Boolean)


21
22
23
24
25
# File 'lib/squeel/nodes/binary.rb', line 21

def eql?(other)
  self.class.eql?(other.class) &&
  self.left.eql?(other.left) &&
  self.right.eql?(other.right)
end