Class: Hashira::CLI::Arguments
- Inherits:
-
Object
- Object
- Hashira::CLI::Arguments
- Defined in:
- lib/hashira/cli/arguments.rb
Instance Method Summary collapse
- #delete(flag) ⇒ Object
-
#initialize(argv) ⇒ Arguments
constructor
A new instance of Arguments.
- #rest ⇒ Object
- #take(flag, default) ⇒ Object
- #vet(flag, value) ⇒ Object
Constructor Details
#initialize(argv) ⇒ Arguments
Returns a new instance of Arguments.
4 5 6 |
# File 'lib/hashira/cli/arguments.rb', line 4 def initialize(argv) @argv = argv.dup end |
Instance Method Details
#delete(flag) ⇒ Object
21 |
# File 'lib/hashira/cli/arguments.rb', line 21 def delete(flag) = @argv.delete(flag) |
#rest ⇒ Object
23 24 25 26 27 |
# File 'lib/hashira/cli/arguments.rb', line 23 def rest stray = @argv.find { it.start_with?("-") } raise(Hashira::Error, "unknown option #{stray}") if stray @argv end |
#take(flag, default) ⇒ Object
8 9 10 11 12 13 |
# File 'lib/hashira/cli/arguments.rb', line 8 def take(flag, default) position = @argv.index(flag) return default unless position _flag, value = @argv.slice!(position, 2) vet(flag, value) end |