class JMESPath::Nodes::SumFunction

Public Instance Methods

call(args) click to toggle source
# File lib/jmespath/nodes/function.rb, line 392
def call(args)
  if args.count == 1 && Array === args.first
    args.first.inject(0) do |sum,n|
      if Numeric === n
        sum + n
      else
        return maybe_raise Errors::InvalidTypeError, "function sum() expects values to be numeric"
      end
    end
  else
    return maybe_raise Errors::InvalidArityError, "function sum() expects one argument"
  end
end