Class: Composed::Positional::SkipStrategy

Inherits:
Object
  • Object
show all
Defined in:
lib/composed/positional.rb

Instance Method Summary collapse

Instance Method Details

#call(args, injected) ⇒ Object

Raises:

  • (ArgumentError)


52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/composed/positional.rb', line 52

def call(args, injected)
  missing = 0
  injected.each do |idx, value|
    missing += 1 if args.size < idx
    args.insert(idx,value.call)
  end

  raise ArgumentError, <<~ERROR if missing > 0
    wrong number of arguments (given #{args.size}, expected #{args.size + missing}
  ERROR

  args
end