Class: SCSSLint::Options

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

Overview

Handles option parsing for the command line application.

Constant Summary collapse

DEFAULT_REPORTER =
['Default', :stdout].freeze

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
32
33
34
# File 'lib/scss_lint/options.rb', line 12

def parse(args)
  @options = {
    reporters: [DEFAULT_REPORTER],
  }

  OptionParser.new do |parser|
    parser.banner = "Usage: #{parser.program_name} [options] [scss-files]"

    add_display_options parser
    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 SCSSLint::Exceptions::InvalidCLIOption,
        e.message,
        e.backtrace
end