class TTY::Option::Parser::ArityCheck

Public Class Methods

new(error_aggregator) click to toggle source
# File lib/tty/option/parser/arity_check.rb, line 7
def initialize(error_aggregator)
  @multiplies = []
  @error_aggregator = error_aggregator
end

Public Instance Methods

<<(param)
Alias for: add
add(param) click to toggle source
# File lib/tty/option/parser/arity_check.rb, line 12
def add(param)
  @multiplies << param
end
Also aliased as: <<
call(arities) click to toggle source

Check if parameter matches arity

@raise [InvalidArity]

@api private

# File lib/tty/option/parser/arity_check.rb, line 22
def call(arities)
  @multiplies.each do |param|
    arity = arities[param.key]

    if arity < param.min_arity
      @error_aggregator.(InvalidArity.new(param, arity))
    end
  end
end