class JMESPath::Nodes::JoinFunction

Public Instance Methods

call(args) click to toggle source
# File lib/jmespath/nodes/function.rb, line 342
def call(args)
  if args.count == 2
    glue = args[0]
    values = args[1]
    if !(String === glue)
      return maybe_raise Errors::InvalidTypeError, "function join() expects the first argument to be a string"
    elsif Array === values && values.all? { |v| String === v }
      values.join(glue)
    else
      return maybe_raise Errors::InvalidTypeError, "function join() expects values to be an array of strings"
    end
  else
    return maybe_raise Errors::InvalidArityError, "function join() expects an array of strings"
  end
end