Wrapper for command line parser
Initialize with help, version text.
- usage
- top part of message shown for help option
- banner
- message shown for version and copyright info
# File srv/backendproxy.rb, line 136
def initialize(usage, banner)
@vals = Hash.new
@args = nil
@banner = banner
@parser = OptionParser.new(usage, Width)
# set default values
@vals["v"] = false
@vals["myname"] = APPNAME
# 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
}
@parser.def_option("-a", "--alias=NAME",
"NAME of server to be contacted.") {
|a|
@vals["servname"] = a
}
end
- s
- name of env var to parse for command line options
# File srv/backendproxy.rb, line 169
def env(s)
envopts = ENV[s] || ENV[s.upcase]
@parser.order(*Shellwords::shellwords(envopts)) if envopts
end
- av
- array of command line options, usually ARGV passed in,
in one form or another
# File srv/backendproxy.rb, line 176
def parse(av)
@args = @parser.order(*av)
# other processing here
@args
end
# File srv/backendproxy.rb, line 183
def show_help(rc = 0)
print @parser; exit(rc)
end
# File srv/backendproxy.rb, line 188
def show_banner(rc = 0)
print @banner; exit(rc)
end