Class: NbfTools::Options

Inherits:
Object
  • Object
show all
Defined in:
lib/nbf_tools/options.rb

Constant Summary collapse

COMMAND_HELP_TEXT =
<<~TEXT.chomp
  usage: nbf_tools [options]
      -f, --files                         NETSCAPE Bookmark files, delimit by space
      -o, --out-format                    output parse result format (default: html), options: json, html
      -t, --personal-toolbar-folder-text  custom personal toolbar folder text

  other options:
      -h, --help                      print help
      -v, --version                   print version
TEXT

Instance Method Summary collapse

Constructor Details

#initialize(argv) ⇒ Options

Returns a new instance of Options.



16
17
18
# File 'lib/nbf_tools/options.rb', line 16

def initialize(argv)
  @argv = argv
end

Instance Method Details

#parseObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/nbf_tools/options.rb', line 20

def parse
  opts = {unknown_option: [], files: [], personal_toolbar_folder_text: [], out_format: []}
  option_key = :unknown_option

  @argv.each do |e|
    case e
    when "-h", "--help"
      puts COMMAND_HELP_TEXT
      exit
    when "-v", "--version"
      puts NbfTools::VERSION
      exit
    when "-f", "--files"
      option_key = :files
    when "-o", "--out_format"
      option_key = :out_format
    when "-t", "--personal_toolbar_folder_text"
      option_key = :personal_toolbar_folder_text
    when /\A-.+\z/
      option_key = :unknown_option
      warn "unknown option #{e}"
    else
      opts[option_key] << e
    end
  end

  opts
end