Class: Toys::Flag::Syntax
- Inherits:
-
Object
- Object
- Toys::Flag::Syntax
- Defined in:
- core-docs/toys/flag.rb
Overview
Defined in the toys-core gem
Representation of a single flag.
Instance Attribute Summary collapse
-
#canonical_str ⇒ String
readonly
A canonical string representing this flag's syntax, normalized to match the type, delimiters, etc.
-
#flag_style ⇒ :long, :short
readonly
The style of flag (
:long
or:short
). -
#flag_type ⇒ :boolean, :value
readonly
The type of flag (
:boolean
or:value
). -
#flags ⇒ Array<String>
readonly
The flags (without values) corresponding to this syntax.
-
#negative_flag ⇒ String?
readonly
The flag (without values) corresponding to the "negative" form of this flag, if any.
-
#original_str ⇒ String
readonly
The original string that was parsed to produce this syntax.
-
#positive_flag ⇒ String
readonly
The flag (without values) corresponding to the normal "positive" form of this flag.
-
#sort_str ⇒ String
readonly
A string used to sort this flag compared with others.
-
#str_without_value ⇒ String
readonly
The original string with the value (if any) stripped, but retaining the
[no-]
prefix if present. -
#value_delim ⇒ String?
readonly
The default delimiter used for the value of this flag.
-
#value_label ⇒ String?
readonly
The default "label" for the value.
-
#value_type ⇒ :required, ...
readonly
The type of value (
:required
or:optional
).
Instance Method Summary collapse
-
#initialize(str) ⇒ Syntax
constructor
Parse flag syntax.
Constructor Details
#initialize(str) ⇒ Syntax
Parse flag syntax
21 22 23 |
# File 'core-docs/toys/flag.rb', line 21 def initialize(str) # Source available in the toys-core gem end |
Instance Attribute Details
#canonical_str ⇒ String (readonly)
A canonical string representing this flag's syntax, normalized to match the type, delimiters, etc. settings of other flag syntaxes. This is generally used in help strings to represent this flag.
113 114 115 |
# File 'core-docs/toys/flag.rb', line 113 def canonical_str @canonical_str end |
#flag_style ⇒ :long, :short (readonly)
The style of flag (:long
or :short
).
74 75 76 |
# File 'core-docs/toys/flag.rb', line 74 def flag_style @flag_style end |
#flag_type ⇒ :boolean, :value (readonly)
The type of flag (:boolean
or :value
)
81 82 83 |
# File 'core-docs/toys/flag.rb', line 81 def flag_type @flag_type end |
#flags ⇒ Array<String> (readonly)
The flags (without values) corresponding to this syntax.
37 38 39 |
# File 'core-docs/toys/flag.rb', line 37 def flags @flags end |
#negative_flag ⇒ String? (readonly)
The flag (without values) corresponding to the "negative" form of this
flag, if any. i.e. if the original string was "--[no-]abc"
, the
negative flag is "--no-abc"
.
53 54 55 |
# File 'core-docs/toys/flag.rb', line 53 def negative_flag @negative_flag end |
#original_str ⇒ String (readonly)
The original string that was parsed to produce this syntax.
31 32 33 |
# File 'core-docs/toys/flag.rb', line 31 def original_str @original_str end |
#positive_flag ⇒ String (readonly)
The flag (without values) corresponding to the normal "positive" form of this flag.
44 45 46 |
# File 'core-docs/toys/flag.rb', line 44 def positive_flag @positive_flag end |
#sort_str ⇒ String (readonly)
A string used to sort this flag compared with others.
66 67 68 |
# File 'core-docs/toys/flag.rb', line 66 def sort_str @sort_str end |
#str_without_value ⇒ String (readonly)
The original string with the value (if any) stripped, but retaining
the [no-]
prefix if present.
60 61 62 |
# File 'core-docs/toys/flag.rb', line 60 def str_without_value @str_without_value end |
#value_delim ⇒ String? (readonly)
The default delimiter used for the value of this flag. This could be
""
or " "
for a short flag, or " "
or "="
for a long flag.
97 98 99 |
# File 'core-docs/toys/flag.rb', line 97 def value_delim @value_delim end |
#value_label ⇒ String? (readonly)
The default "label" for the value. e.g. in --abc=VAL
the label is
"VAL"
.
105 106 107 |
# File 'core-docs/toys/flag.rb', line 105 def value_label @value_label end |
#value_type ⇒ :required, ... (readonly)
The type of value (:required
or :optional
)
89 90 91 |
# File 'core-docs/toys/flag.rb', line 89 def value_type @value_type end |