Class: SlimLint::Options

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

Overview

Handles option parsing for the command line application.

Instance Method Summary collapse

Instance Method Details

#parse(args) ⇒ Hash

Parses command line options into an options hash.

Parameters:

  • args (Array<String>)

    arguments passed via the command line

Returns:

  • (Hash)

    parsed options



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/slim_lint/options.rb', line 12

def parse(args)
  @options = {}

  OptionParser.new do |parser|
    parser.banner = "Usage: #{APP_NAME} [options] [file1, file2, ...]"

    add_linter_options parser
    add_file_options parser
    add_info_options parser
  end.parse!(args)

  # Any remaining arguments are assumed to be files
  @options[:files] = args

  @options
rescue OptionParser::InvalidOption => e
  raise Exceptions::InvalidCLIOption,
        e.message,
        e.backtrace
end