Class: ArelExtensions::Nodes::RegexpReplace

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) ⇒ RegexpReplace

Returns a new instance of RegexpReplace.



19
20
21
22
23
24
# File 'lib/arel_extensions/nodes/replace.rb', line 19

def initialize left, pattern, substitute
  @left = convert_to_node(left)
  @pattern = (pattern.is_a?(Regexp) ? pattern : %r[#{pattern}])
  @substitute = convert_to_node(substitute)
  super([@left,@pattern,@substitute])
end

Instance Attribute Details

#leftObject

Returns the value of attribute left.



17
18
19
# File 'lib/arel_extensions/nodes/replace.rb', line 17

def left
  @left
end

#patternObject

Returns the value of attribute pattern.



17
18
19
# File 'lib/arel_extensions/nodes/replace.rb', line 17

def pattern
  @pattern
end

#substituteObject

Returns the value of attribute substitute.



17
18
19
# File 'lib/arel_extensions/nodes/replace.rb', line 17

def substitute
  @substitute
end