class TTY::Option::InvalidArity

Raised when number of parameter arguments doesn't match

Constants

MESSAGE

Public Class Methods

new(param_or_message, arity = nil) click to toggle source
Calls superclass method
# File lib/tty/option/errors.rb, line 57
def initialize(param_or_message, arity = nil)
  if param_or_message.is_a?(Parameter)
    @param = param_or_message
    prefix = param.arity < 0 ? "at least " : ""
    expected_arity = param.arity < 0 ? param.arity.abs - 1 : param.arity

    message = format(MESSAGE,
                     type: param.to_sym,
                     name: param.name,
                     expect: prefix + pluralize("time", expected_arity),
                     actual: pluralize("time", arity))
  else
    message = param_or_message
  end

  super(message)
end

Public Instance Methods

pluralize(noun, count = 1) click to toggle source

Pluralize a noun

@api private

# File lib/tty/option/errors.rb, line 78
def pluralize(noun, count = 1)
  "#{count} #{noun}#{'s' unless count == 1}"
end