Method: Drydock#option
- Defined in:
- lib/drydock.rb
#option(*args, &b) ⇒ Object
Define a command-specific option.
args is passed directly to OptionParser.on so it can contain anything that’s valid to that method. If a class is included, it will tell OptionParser to expect a value otherwise it assumes a boolean value. Some examples:
option :h, :help, "Displays this message"
option '-l x,y,z', '--lang=x,y,z', Array, "Requested languages"
You can also supply a block to fiddle with the values. The final
value becomes the option's value:
option :m, :max, Integer, "Maximum threshold" do |v|
v = 100 if v > 100
v
end
All calls to option must come before the command they’re associated to. Example:
option :t, :tasty, "A boolean switch"
option :reason, String, "Requires a parameter"
command :task do |obj|;
obj..tasty # => true
obj..reason # => I made the sandwich!
end
When calling your script with a specific command-line option, the value is available via obj.longname inside the command block.
590 591 592 593 |
# File 'lib/drydock.rb', line 590 def option(*args, &b) args.unshift(get_current_option_parser) current_command_option_names << option_parser(args, &b) end |