class Rubocop::CLI

def run(args = ARGV)

Returns:
  • (Fixnum) - UNIX exit code
def run(args = ARGV)
  trap_interrupt
  begin
    parse_options(args)
  rescue => e
    $stderr.puts e.message
    return 1
  end
  # filter out Rails cops unless requested
  @cops.reject!(&:rails?) unless @options[:rails]
  # filter out style cops when --lint is passed
  @cops.select!(&:lint?) if @options[:lint]
  target_files = target_files(args)
  target_files.each(&:freeze).freeze
  inspected_files = []
  any_failed = false
  formatter_set.started(target_files)
  target_files.each do |file|
    break if wants_to_quit?
    puts "Scanning #{file}" if @options[:debug]
    formatter_set.file_started(file, {})
    offences = inspect_file(file)
    any_failed = true unless offences.empty?
    inspected_files << file
    formatter_set.file_finished(file, offences.freeze)
  end
  formatter_set.finished(inspected_files.freeze)
  formatter_set.close_output_files
  display_error_summary(@errors) unless @options[:silent]
  !any_failed && !wants_to_quit ? 0 : 1
end