Class: Arel::Nodes::Coalesce

Inherits:
Binary
  • Object
show all
Defined in:
lib/arel_extension/nodes/coalesce.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(left, right, aliaz = nil) ⇒ Coalesce

Returns a new instance of Coalesce.



5
6
7
8
# File 'lib/arel_extension/nodes/coalesce.rb', line 5

def initialize(left, right, aliaz = nil)
  super(left, right)
  as(aliaz)
end

Instance Attribute Details

#aliazObject (readonly)

Returns the value of attribute aliaz.



4
5
6
# File 'lib/arel_extension/nodes/coalesce.rb', line 4

def aliaz
  @aliaz
end

Instance Method Details

#as(aliaz) ⇒ Object



10
11
12
13
# File 'lib/arel_extension/nodes/coalesce.rb', line 10

def as(aliaz)
  @aliaz = aliaz && SqlLiteral.new(aliaz)
  self
end

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/arel_extension/nodes/coalesce.rb', line 19

def eql? other
  super && @aliaz == other.aliaz
end

#hashObject



15
16
17
# File 'lib/arel_extension/nodes/coalesce.rb', line 15

def hash
  super ^ @aliaz.hash
end