Class: JMESPath::Nodes::JoinFunction Private
- Defined in:
- lib/jmespath/nodes/function.rb
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Constant Summary
Constants inherited from Function
Instance Method Summary collapse
- #call(args) ⇒ Object private
Methods inherited from Function
create, #initialize, #optimize, #visit
Methods inherited from Node
#chains_with?, #optimize, #visit
Constructor Details
This class inherits a constructor from JMESPath::Nodes::Function
Instance Method Details
#call(args) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 |
# File 'lib/jmespath/nodes/function.rb', line 354 def call(args) if args.count == 2 glue = args[0] values = args[1] if !glue.respond_to?(:to_str) return maybe_raise Errors::InvalidTypeError, 'function join() expects the first argument to be a string' elsif values.respond_to?(:to_ary) && values.to_ary.all? { |v| v.respond_to?(:to_str) } values.to_ary.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 |