Class: Tomo::CLI::Rules::Argument
- Inherits:
-
Object
- Object
- Tomo::CLI::Rules::Argument
- Defined in:
- lib/tomo/cli/rules/argument.rb
Instance Method Summary collapse
- #candidates(state:, literal: false) ⇒ Object
-
#initialize(label, values_proc:, multiple: false, required: false) ⇒ Argument
constructor
A new instance of Argument.
- #match(arg, literal: false) ⇒ Object
- #multiple? ⇒ Boolean
- #process(arg, state:) ⇒ Object
- #required? ⇒ Boolean
- #to_s ⇒ Object
Constructor Details
#initialize(label, values_proc:, multiple: false, required: false) ⇒ Argument
Returns a new instance of Argument.
5 6 7 8 9 10 |
# File 'lib/tomo/cli/rules/argument.rb', line 5 def initialize(label, values_proc:, multiple: false, required: false) @label = label @multiple = multiple @required = required @values_proc = values_proc end |
Instance Method Details
#candidates(state:, literal: false) ⇒ Object
20 21 22 |
# File 'lib/tomo/cli/rules/argument.rb', line 20 def candidates(state:, literal: false) values(state).reject { |val| literal && val.start_with?("-") } end |
#match(arg, literal: false) ⇒ Object
12 13 14 |
# File 'lib/tomo/cli/rules/argument.rb', line 12 def match(arg, literal: false) 1 if literal || !arg.start_with?("-") end |
#multiple? ⇒ Boolean
28 29 30 |
# File 'lib/tomo/cli/rules/argument.rb', line 28 def multiple? @multiple end |
#process(arg, state:) ⇒ Object
16 17 18 |
# File 'lib/tomo/cli/rules/argument.rb', line 16 def process(arg, state:) state.parsed_arg(arg) end |
#required? ⇒ Boolean
24 25 26 |
# File 'lib/tomo/cli/rules/argument.rb', line 24 def required? @required end |
#to_s ⇒ Object
32 33 34 |
# File 'lib/tomo/cli/rules/argument.rb', line 32 def to_s @label end |