Skip to Content Skip to Search

Base class of exceptions from OptionParser.

Methods
F
I
M
N
R
S
T

Constants

Reason = 'parse error'
 

Reason which caused the error.

Attributes

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

Class Public methods

filter_backtrace(array)

# File ruby/lib/optparse.rb, line 2145
def self.filter_backtrace(array)
  unless $DEBUG
    array.delete_if(&%r"\A#{Regexp.quote(__FILE__)}:"o.method(:=~))
  end
  array
end

new(*args, additional: nil)

# File ruby/lib/optparse.rb, line 2126
def initialize(*args, additional: nil)
  @additional = additional
  @arg0, = args
  @args = args
  @reason = nil
end

Instance Public methods

inspect()

# File ruby/lib/optparse.rb, line 2172
def inspect
  "#<#{self.class}: #{args.join(' ')}>"
end

message()

Default stringizing method to emit standard error message.

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

reason()

Returns error reason. Override this for I18N.

# File ruby/lib/optparse.rb, line 2168
def reason
  @reason || self.class::Reason
end

recover(argv)

Pushes back erred argument(s) to argv.

# File ruby/lib/optparse.rb, line 2140
def recover(argv)
  argv[0, 0] = @args
  argv
end

set_backtrace(array)

# File ruby/lib/optparse.rb, line 2152
def set_backtrace(array)
  super(self.class.filter_backtrace(array))
end

set_option(opt, eq)

# File ruby/lib/optparse.rb, line 2156
def set_option(opt, eq)
  if eq
    @args[0] = opt
  else
    @args.unshift(opt)
  end
  self
end

to_s()

Alias for: message