Class: RuboCop::Options

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

Overview

This class handles command line options.

Constant Summary collapse

DEFAULT_FORMATTER =
'progress'
EXITING_OPTIONS =
[:version, :verbose_version, :show_cops]

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeOptions

Returns a new instance of Options.



63
64
65
# File 'lib/rubocop/options.rb', line 63

def initialize
  @options = {}
end

Class Method Details

.validate_cop_list(names) ⇒ Object

Cop name validation must be done later than option parsing, so it's not called from within this class.



77
78
79
80
81
82
83
84
85
86
# File 'lib/rubocop/options.rb', line 77

def self.validate_cop_list(names)
  return unless names

  namespaces = Cop::Cop.all.types.map { |t| t.to_s.capitalize }
  names.each do |name|
    next if Cop::Cop.all.any? { |c| c.cop_name == name } ||
            namespaces.include?(name)
    fail ArgumentError, "Unrecognized cop or namespace: #{name}."
  end
end

Instance Method Details

#parse(args) ⇒ Object



67
68
69
70
71
72
73
# File 'lib/rubocop/options.rb', line 67

def parse(args)
  define_options(args).parse!(args)

  validate_compatibility

  [@options, args]
end