class JMESPath::Nodes::Function
def self.create(name, children, options = {})
def self.create(name, children, options = {}) if (type = FUNCTIONS[name]) type.new(children, options) else raise Errors::UnknownFunctionError, "unknown function #{name}()" end end
def call(_args)
def call(_args) nil end
def initialize(children, options = {})
def initialize(children, options = {}) @children = children @options = options @disable_visit_errors = @options[:disable_visit_errors] end
def maybe_raise(error_type, message)
def maybe_raise(error_type, message) raise error_type, message unless @disable_visit_errors end
def optimize
def optimize self.class.new(@children.map(&:optimize), @options) end
def visit(value)
def visit(value) call(@children.map { |child| child.visit(value) }) end