class JMESPath::Nodes::Function

Constants

FUNCTIONS

Public Class Methods

create(name, children, options = {}) click to toggle source
# File lib/jmespath/nodes/function.rb, line 14
def self.create(name, children, options = {})
  if (type = FUNCTIONS[name])
    type.new(children, options)
  else
    raise Errors::UnknownFunctionError, "unknown function #{name}()"
  end
end
new(children, options = {}) click to toggle source
# File lib/jmespath/nodes/function.rb, line 8
def initialize(children, options = {})
  @children = children
  @options = options
  @disable_visit_errors = @options[:disable_visit_errors]
end

Public Instance Methods

optimize() click to toggle source
# File lib/jmespath/nodes/function.rb, line 26
def optimize
  self.class.new(@children.map(&:optimize), @options)
end
visit(value) click to toggle source
# File lib/jmespath/nodes/function.rb, line 22
def visit(value)
  call(@children.map { |child| child.visit(value) })
end

Private Instance Methods

call(args) click to toggle source
# File lib/jmespath/nodes/function.rb, line 46
def call(args)
  nil
end
maybe_raise(error_type, message) click to toggle source
# File lib/jmespath/nodes/function.rb, line 40
def maybe_raise(error_type, message)
  unless @disable_visit_errors
    raise error_type, message
  end
end