class JMESPath::Nodes::ValuesFunction

Public Instance Methods

call(args) click to toggle source
# File lib/jmespath/nodes/function.rb, line 333
def call(args)
  if args.count == 1
    value = args.first
    if value.respond_to?(:to_hash)
      value.to_hash.values
    elsif value.is_a?(Struct)
      value.values
    elsif value.respond_to?(:to_ary)
      value.to_ary
    else
      return maybe_raise Errors::InvalidTypeError, 'function values() expects an array or a hash'
    end
  else
    return maybe_raise Errors::InvalidArityError, 'function values() expects one argument'
  end
end