class TTY::Option::ErrorAggregator

Attributes

errors[R]

Collected errors

Public Class Methods

new(errors = [], raise_on_parse_error: false) click to toggle source
# File lib/tty/option/error_aggregator.rb, line 13
def initialize(errors = [], raise_on_parse_error: false)
  @errors = errors
  @raise_on_parse_error = raise_on_parse_error
end

Public Instance Methods

call(error, message = nil) click to toggle source

Record or raise an error

@param [TTY::Option::Error] error @param [String] message

@api public

# File lib/tty/option/error_aggregator.rb, line 24
def call(error, message = nil)
  if error.is_a?(Class)
    error = message.nil? ? error.new : error.new(message)
  end

  raise(error) if @raise_on_parse_error

  @errors << error
end