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