Class: SwitchDb::OptionParser
- Inherits:
-
Object
- Object
- SwitchDb::OptionParser
- Defined in:
- lib/switch_db/option_parser.rb
Constant Summary collapse
- REQUIRED_KEYS =
{ config: [], store: %i[name --database_names], restore: [:name], rm: [:name], list: [] }.freeze
Instance Method Summary collapse
-
#initialize(argv) ⇒ OptionParser
constructor
A new instance of OptionParser.
- #parse!(argv = @original_argv.clone) ⇒ Object
Constructor Details
#initialize(argv) ⇒ OptionParser
Returns a new instance of OptionParser.
13 14 15 16 |
# File 'lib/switch_db/option_parser.rb', line 13 def initialize(argv) @original_argv = argv @options = {} end |
Instance Method Details
#parse!(argv = @original_argv.clone) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/switch_db/option_parser.rb', line 18 def parse!(argv = @original_argv.clone) @options[:command] = argv[0] # rubocop:disable Lint/EmptyWhen case @options[:command] when 'list' # Do nothing when 'config' parse_config_argv(argv[1..-1]) when 'store', 'restore', 'rm' @options[:name] = argv[1] parse_argv(argv) else parse_argv(argv) end # rubocop:enable Lint/EmptyWhen validate_option! @options end |