Class: Pocketbook::CLI::OptionsParser

Inherits:
Object
  • Object
show all
Defined in:
lib/pocketbook/cli/options_parser.rb

Defined Under Namespace

Classes: ParsedOptions, ThemeGetRequest, ThemeNewRequest, ThemeResolveRequest

Constant Summary collapse

DEFAULT_DEBOUNCE_MS =
350
DEFAULT_THEME_NAME =
"classic"
DEFAULT_THEME_PATH =
Pocketbook.bundled_theme_path(DEFAULT_THEME_NAME)
DEFAULT_THEME_DIRECTORY =
Pocketbook.user_themes_path

Instance Method Summary collapse

Constructor Details

#initialize(stdout: $stdout) ⇒ OptionsParser

Returns a new instance of OptionsParser.



93
94
95
# File 'lib/pocketbook/cli/options_parser.rb', line 93

def initialize(stdout: $stdout)
  @stdout = stdout
end

Instance Method Details

#parse(argv) ⇒ Object



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/pocketbook/cli/options_parser.rb', line 97

def parse(argv)
  args = argv.dup
  command = resolve_command(args)

  case command
  when :build
    request, parse_status = parse_render_options(args, watch: false)
    [:build, request, parse_status]
  when :watch
    request, parse_status = parse_render_options(args, watch: true)
    [:watch, request, parse_status]
  when :theme
    parse_theme_options(args)
  else
    raise OptionParser::InvalidArgument, "Unknown command '#{command}'"
  end
end