Class: Dentaku::AST::StringFunctions::Substitute

Inherits:
Function
  • Object
show all
Defined in:
lib/dentaku/ast/functions/string_functions.rb

Instance Method Summary collapse

Methods inherited from Function

#dependencies, get, register, register_class, registry

Methods inherited from Node

arity, #dependencies, precedence

Constructor Details

#initialize(*args) ⇒ Substitute

Returns a new instance of Substitute.



74
75
76
77
# File 'lib/dentaku/ast/functions/string_functions.rb', line 74

def initialize(*args)
  super
  @original, @search, @replacement = *@args
end

Instance Method Details

#value(context = {}) ⇒ Object



79
80
81
82
83
84
85
# File 'lib/dentaku/ast/functions/string_functions.rb', line 79

def value(context={})
  original = @original.value(context).to_s
  search = @search.value(context)
  search = search.to_s unless search.is_a?(Regexp)
  replacement = @replacement.value(context).to_s
  original.sub(search, replacement)
end