class RubbyCop::Formatter::ProgressFormatter

This formatter display dots for files with no offenses and letters for files with problems in the them. In the end it appends the regular report data in the clang style format.

Constants

DOT

Public Class Methods

new(output, options = {}) click to toggle source
Calls superclass method
# File lib/rubbycop/formatter/progress_formatter.rb, line 13
def initialize(output, options = {})
  super
  @dot = green(DOT)
end

Public Instance Methods

file_finished(file, offenses) click to toggle source
# File lib/rubbycop/formatter/progress_formatter.rb, line 24
def file_finished(file, offenses)
  unless offenses.empty?
    count_stats(offenses)
    @offenses_for_files[file] = offenses
  end

  report_file_as_mark(offenses)
end
finished(inspected_files) click to toggle source
# File lib/rubbycop/formatter/progress_formatter.rb, line 33
def finished(inspected_files)
  output.puts

  unless @offenses_for_files.empty?
    output.puts
    output.puts 'Offenses:'
    output.puts

    @offenses_for_files.each do |file, offenses|
      report_file(file, offenses)
    end
  end

  report_summary(inspected_files.size,
                 @total_offense_count,
                 @total_correction_count)
end
report_file_as_mark(offenses) click to toggle source
# File lib/rubbycop/formatter/progress_formatter.rb, line 51
def report_file_as_mark(offenses)
  mark = if offenses.empty?
           @dot
         else
           highest_offense = offenses.max_by(&:severity)
           colored_severity_code(highest_offense)
         end

  output.write mark
end
started(target_files) click to toggle source
Calls superclass method
# File lib/rubbycop/formatter/progress_formatter.rb, line 18
def started(target_files)
  super
  @offenses_for_files = {}
  output.puts "Inspecting #{pluralize(target_files.size, 'file')}"
end