Class: OptionParser::Switch::PlacedArgument

Inherits:
OptionParser::Switch show all
Defined in:
lib/optparse.rb

Overview

Switch that takes an argument, which does not begin with ‘-’.

Instance Attribute Summary

Attributes inherited from OptionParser::Switch

#arg, #block, #conv, #desc, #long, #pattern, #short

Instance Method Summary collapse

Methods inherited from OptionParser::Switch

#add_banner, #compsys, guess, incompatible_argument_styles, #initialize, #match_nonswitch?, pattern, #summarize, #switch_name

Constructor Details

This class inherits a constructor from OptionParser::Switch

Instance Method Details

#parse(arg, argv, &error) ⇒ Object

Returns nil if argument is not present or begins with ‘-’.



560
561
562
563
564
565
566
567
568
569
570
571
572
# File 'lib/optparse.rb', line 560

def parse(arg, argv, &error)
  if !(val = arg) and (argv.empty? or /\A-/ =~ (val = argv[0]))
    return nil, block, nil
  end
  opt = (val = parse_arg(val, &error))[1]
  val = conv_arg(*val)
  if opt and !arg
    argv.shift
  else
    val[0] = nil
  end
  val
end