Class: ArelExtensions::Nodes::Replace

Inherits:
Function
  • Object
show all
Defined in:
lib/arel_extensions/nodes/replace.rb

Constant Summary collapse

RETURN_TYPE =
:string

Constants inherited from Function

Function::MBSTRING

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Function

#!=, #==, #as, #convert_to_date_node, #convert_to_datetime_node, #convert_to_node, #convert_to_number, #convert_to_string_node, #expr, #return_type, #right, #type_of_attribute

Methods included from Predications

#cast, #convert_to_node, #imatches, #in, #matches, #not_in, #when

Constructor Details

#initialize(left, pattern, substitute) ⇒ Replace

Returns a new instance of Replace.



7
8
9
10
11
12
# File 'lib/arel_extensions/nodes/replace.rb', line 7

def initialize left, pattern, substitute
  @left = convert_to_node(left)
  @pattern = convert_to_node(pattern)
  @substitute = convert_to_node(substitute)
  super([@left,@pattern,@substitute])
end

Instance Attribute Details

#leftObject

Returns the value of attribute left.



5
6
7
# File 'lib/arel_extensions/nodes/replace.rb', line 5

def left
  @left
end

#patternObject

Returns the value of attribute pattern.



5
6
7
# File 'lib/arel_extensions/nodes/replace.rb', line 5

def pattern
  @pattern
end

#substituteObject

Returns the value of attribute substitute.



5
6
7
# File 'lib/arel_extensions/nodes/replace.rb', line 5

def substitute
  @substitute
end

Instance Method Details

#+(other) ⇒ Object



14
15
16
# File 'lib/arel_extensions/nodes/replace.rb', line 14

def +(other)
  return ArelExtensions::Nodes::Concat.new(self.expressions + [other])
end