Class: Hashira::CLI::Arguments

Inherits:
Object
  • Object
show all
Defined in:
lib/hashira/cli/arguments.rb

Instance Method Summary collapse

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



16
# File 'lib/hashira/cli/arguments.rb', line 16

def delete(flag) = @argv.delete(flag)

#restObject

Raises:



18
19
20
21
22
# File 'lib/hashira/cli/arguments.rb', line 18

def rest
  stray = @argv.find { it.start_with?("-") }
  raise(Hashira::Error, "unknown option #{stray}") if stray
  @argv
end

#take(flag, default) ⇒ Object

Raises:



8
9
10
11
12
13
14
# 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)
  raise(Hashira::Error, "#{flag} needs a value") unless value
  value
end