Class: ArgParser::Argument Abstract
- Inherits:
-
Object
- Object
- ArgParser::Argument
- Defined in:
- lib/arg-parser/argument.rb
Overview
Abstract base class of all command-line argument types.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#default ⇒ String
The default value for the argument, returned in the command-line parse results if no other value is specified.
-
#description ⇒ String
readonly
The description for this argument, which will be shown in the usage display.
-
#key ⇒ Symbol
readonly
The key used to identify this argument value in the parsed command- line results Struct.
-
#on_parse ⇒ Proc
An optional on_parse callback handler.
-
#required ⇒ Boolean
(also: #required?)
Whether this argument is a required (i.e. mandatory) argument.
-
#short_key ⇒ Symbol
readonly
A single letter or digit that can be used as a short alternative to the full key to identify an argument value in a command- line.
-
#usage_break ⇒ String
A label to use for a new section of options in the argument usage display.
Class Method Summary collapse
-
.to_key(label) ⇒ Symbol
Converts an argument key specification into a valid key, by stripping leading dashes, converting remaining dashes to underscores, and lower- casing all text.
Instance Attribute Details
#default ⇒ String
Returns the default value for the argument, returned in the command-line parse results if no other value is specified.
34 35 36 |
# File 'lib/arg-parser/argument.rb', line 34 def default @default end |
#description ⇒ String (readonly)
Returns the description for this argument, which will be shown in the usage display.
22 23 24 |
# File 'lib/arg-parser/argument.rb', line 22 def description @description end |
#key ⇒ Symbol (readonly)
The key used to identify this argument value in the parsed command- line results Struct.
19 20 21 |
# File 'lib/arg-parser/argument.rb', line 19 def key @key end |
#on_parse ⇒ Proc
An optional on_parse callback handler. The supplied block/Proc will be called after this argument has been parsed, with three arguments:
@param [String] The value from the command-line that was entered for
this argument.
@param [Argument] The Argument sub-class object that represents the
argument that was parsed.
@param [Hash] The results Hash containing the argument keys and their
values parsed so far.
45 46 47 |
# File 'lib/arg-parser/argument.rb', line 45 def on_parse @on_parse end |
#required ⇒ Boolean Also known as: required?
Returns whether this argument is a required (i.e. mandatory) argument. Mandatory arguments that do not get specified result in a ParseException.
30 31 32 |
# File 'lib/arg-parser/argument.rb', line 30 def required @required end |
#short_key ⇒ Symbol (readonly)
Returns a single letter or digit that can be used as a short alternative to the full key to identify an argument value in a command- line.
26 27 28 |
# File 'lib/arg-parser/argument.rb', line 26 def short_key @short_key end |
#usage_break ⇒ String
Returns a label to use for a new section of options in the argument usage display. Should be specified on the first argument in the group.
49 50 51 |
# File 'lib/arg-parser/argument.rb', line 49 def usage_break @usage_break end |
Class Method Details
.to_key(label) ⇒ Symbol
Converts an argument key specification into a valid key, by stripping leading dashes, converting remaining dashes to underscores, and lower- casing all text. This is required to ensure the key name will be a valid accessor name on the parse results.
59 60 61 62 |
# File 'lib/arg-parser/argument.rb', line 59 def self.to_key(label) k = label.to_s.gsub(/^-+/, '').gsub('-', '_') k.length > 1 ? k.downcase.intern : k.intern end |