class JMESPath::Nodes::Function
Constants
- FUNCTIONS
Public Class Methods
create(name, children, options = {})
click to toggle source
# File lib/jmespath/nodes/function.rb, line 13 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 7 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 25 def optimize self.class.new(@children.map(&:optimize), @options) end
visit(value)
click to toggle source
# File lib/jmespath/nodes/function.rb, line 21 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 43 def call(_args) nil end
maybe_raise(error_type, message)
click to toggle source
# File lib/jmespath/nodes/function.rb, line 39 def maybe_raise(error_type, message) raise error_type, message unless @disable_visit_errors end