Maintenance of Ruby 2.0.0 will end on February 24, 2016. Read more
Extends command line arguments array (ARGV) to parse itself.
Substitution of getopts is possible as follows. Also see OptionParser#getopts.
def getopts(*args) ($OPT = ARGV.getopts(*args)).each do |opt, val| eval "$OPT_#{opt.gsub(/[^A-Za-z0-9_]/, '_')} = val" end rescue OptionParser::ParseError end
# File optparse.rb, line 1932 def getopts(*args) options.getopts(self, *args) end
Actual OptionParser object, automatically created if nonexistent.
If called with a block, yields the OptionParser object and returns the result
of the block. If an OptionParser::ParseError
exception occurs in the block, it is rescued, a error message printed to
STDERR and nil
returned.
# File optparse.rb, line 1891 def options @optparse ||= OptionParser.new @optparse.default_argv = self block_given? or return @optparse begin yield @optparse rescue ParseError @optparse.warn $! nil end end
Sets OptionParser object, when
opt
is false
or nil
, methods #options and #options= are undefined. Thus,
there is no ways to access the OptionParser object via the receiver
object.
# File optparse.rb, line 1874 def options=(opt) unless @optparse = opt class << self undef_method(:options) undef_method(:options=) end end end
Parses self
destructively in order and returns
self
containing the rest arguments left unparsed.
# File optparse.rb, line 1907 def order!(&blk) options.order!(self, &blk) end