Class: Squeel::Nodes::Sifter

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from PredicateOperators

#&, #-@, #|

Methods inherited from Node

#each, #grep

Constructor Details

#initialize(name, args) ⇒ Sifter

Returns a new instance of Sifter



8
9
10
# File 'lib/squeel/nodes/sifter.rb', line 8

def initialize(name, args)
  @name, @args = name, args
end

Instance Attribute Details

#argsObject (readonly)

Returns the value of attribute args



6
7
8
# File 'lib/squeel/nodes/sifter.rb', line 6

def args
  @args
end

#nameObject (readonly)

Returns the value of attribute name



6
7
8
# File 'lib/squeel/nodes/sifter.rb', line 6

def name
  @name
end

Instance Method Details

#eql?(other) ⇒ Boolean Also known as: ==

Compare with other objects

Returns:

  • (Boolean)


18
19
20
21
22
# File 'lib/squeel/nodes/sifter.rb', line 18

def eql?(other)
  self.class.eql?(other.class) &&
  self.name.eql?(other.name) &&
  self.args.eql?(other.args)
end

#hashObject

Implemented for equality testing



13
14
15
# File 'lib/squeel/nodes/sifter.rb', line 13

def hash
  [name, args].hash
end