Module

Arguable

Inheritance

Extends command line arguments array (ARGV) to parse itself.

Methods

Class

Visibility Signature
public extend_object (obj)
public new (*args)

Instance

Visibility Signature
public getopts (*args)
public options () {|@optparse| ...}
public options= (opt)
public order! (&blk)
public parse! ()
public permute! ()

Class Method Detail

extend_object(obj)

Initializes instance variable.

new(*args)

Instance Method Detail

getopts(*args)

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

options() {|@optparse| ...}

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.

options=(opt)

Sets OptionParser object, when opt is false or nil, methods OptionParser::Arguable#options and OptionParser::Arguable#options= are undefined. Thus, there is no ways to access the OptionParser object via the receiver object.

order!(&blk)

Parses self destructively in order and returns self containing the rest arguments left unparsed.

parse!()

Parses self destructively and returns self containing the rest arguments left unparsed.

permute!()

Parses self destructively in permutation mode and returns self containing the rest arguments left unparsed.