Class Opts
In: queuemgr/queuemgr.rb
mkcddb/mkcddb.rb
Parent: Object

Wrapper for command line parser

Methods
env    new    new    parse    parse    set_text    show_banner    show_help   
Attributes
:args  [R] 
:args  [R] 
:banner  [R] 
:hopt  [R] 
:vals  [R] 
Included modules
Singleton
Public Class methods
set_text(usage, banner)

Initialize args for new that we can't have because it's a singleton.

usage
top part of message shown for help option
banner
message shown for version and copyright info
# File queuemgr/queuemgr.rb, line 219
  def Opts.set_text(usage, banner)
    @@usage = usage
    @@banner = banner
  end
new()
# File queuemgr/queuemgr.rb, line 224
  def initialize()
    @vals = Hash.new
    @args = nil
    @parser = OptionParser.new(@@usage, Width)

    # set default values
    @vals["v"] = false
    @vals["myname"] = APPNAME

    @vals.update(Config.instance.named)

    # define program options
    @parser.def_option("-h", "--help", 
		     "Show this help.") {
      show_help
    }
    @parser.def_option("-V", "--version", 
		     "Show version and copyright.") {
      show_banner
    }
    @parser.def_option("-v", "--verbose", 
		     "Turn on verbose messages.") {
      |v| @vals["v"] = true
    }
  end
new(usage, banner)
usage
top part of message shown for help option
banner
message shown for version and copyright info
# File mkcddb/mkcddb.rb, line 196
  def initialize(usage, banner)
    @banner = banner
    @args = nil
    @opts = OptionParser.new(usage, Width)
    @hopt = Hash.new

    hopt["verbose"] = false

    @opts.def_option("-h", "--help", 
		     "Show this help.") {
      print @opts; exit(0)
    }

    @opts.def_option("-V", "--version", 
		     "Show version and copyright.") {
      puts @banner; exit(0)
    }
    @opts.def_option("-v", "--verbose", 
		     "Turn on verbose messages.") {
      |verbose|
      @hopt["verbose"] = true
    }
  end
Public Instance methods
env(s)
s
name of env var to parse for command line options
# File queuemgr/queuemgr.rb, line 253
  def env(s)
    envopts = ENV[s] || ENV[s.upcase]
    @parser.order(*Shellwords::shellwords(envopts)) if envopts
  end
parse(av)
av
array of command line options, usually ARGV passed in,
        in one form or another
# File queuemgr/queuemgr.rb, line 260
  def parse(av)
    @args = @parser.order(*av)
    # other processing here
    @args
  end
show_help(rc = 0)

Show help and exit.

# File queuemgr/queuemgr.rb, line 267
  def show_help(rc = 0)
    print @parser; exit(rc)
  end
show_banner(rc = 0)

Show help and exit.

# File queuemgr/queuemgr.rb, line 272
  def show_banner(rc = 0)
    print @@banner; exit(rc)
  end
parse(av)
av
array of command line options, usually ARGV
# File mkcddb/mkcddb.rb, line 222
  def parse(av)
    @args = @opts.order(*av)
  end