class JMESPath::Nodes::KeysFunction
Public Instance Methods
call(args)
click to toggle source
# File lib/jmespath/nodes/function.rb, line 302 def call(args) if args.count == 1 value = args.first if hash_like?(value) case value when Hash then value.keys.map(&:to_s) when Struct then value.members.map(&:to_s) else raise NotImplementedError end else return maybe_raise Errors::InvalidTypeError, "function keys() expects a hash" end else return maybe_raise Errors::InvalidArityError, "function keys() expects one argument" end end