class OptionParser::ParseError

Base class of exceptions from OptionParser.

Constants

Reason

Reason which caused the error.

Attributes

additional[RW]
args[R]
reason[W]

Public Class Methods

filter_backtrace(array) click to toggle source
# File lib/optparse.rb, line 2136
def self.filter_backtrace(array)
  unless $DEBUG
    array.delete_if(&%r"\A#{Regexp.quote(__FILE__)}:"o.method(:=~))
  end
  array
end
new(*args, additional: nil) click to toggle source
# File lib/optparse.rb, line 2117
def initialize(*args, additional: nil)
  @additional = additional
  @arg0, = args
  @args = args
  @reason = nil
end

Public Instance Methods

inspect() click to toggle source
# File lib/optparse.rb, line 2163
def inspect
  "#<#{self.class}: #{args.join(' ')}>"
end
message() click to toggle source

Default stringizing method to emit standard error message.

# File lib/optparse.rb, line 2170
def message
  "#{reason}: #{args.join(' ')}#{additional[@arg0] if additional}"
end
Also aliased as: to_s
reason() click to toggle source

Returns error reason. Override this for I18N.

# File lib/optparse.rb, line 2159
def reason
  @reason || self.class::Reason
end
recover(argv) click to toggle source

Pushes back erred argument(s) to argv.

# File lib/optparse.rb, line 2131
def recover(argv)
  argv[0, 0] = @args
  argv
end
set_backtrace(array) click to toggle source
Calls superclass method Exception#set_backtrace
# File lib/optparse.rb, line 2143
def set_backtrace(array)
  super(self.class.filter_backtrace(array))
end
set_option(opt, eq) click to toggle source
# File lib/optparse.rb, line 2147
def set_option(opt, eq)
  if eq
    @args[0] = opt
  else
    @args.unshift(opt)
  end
  self
end
to_s()
Alias for: message