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