class Rubocop::Formatter::ProgressFormatter

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

Constants

COLOR_FOR_SEVERITY

Public Instance Methods

file_finished(file, offences) click to toggle source
# File lib/rubocop/formatter/progress_formatter.rb, line 24
def file_finished(file, offences)
  @total_offence_count += offences.count
  @offences_for_files[file] = offences unless offences.empty?
  report_file_as_mark(file, offences)
end
finished(inspected_files) click to toggle source
# File lib/rubocop/formatter/progress_formatter.rb, line 30
def finished(inspected_files)
  output.puts

  return unless reports_summary?

  unless @offences_for_files.empty?
    output.puts
    output.puts 'Offences:'
    output.puts

    @offences_for_files.each do |file, offences|
      report_file(file, offences)
    end
  end

  report_summary(inspected_files.count, @total_offence_count)
end
report_file_as_mark(file, offences) click to toggle source
# File lib/rubocop/formatter/progress_formatter.rb, line 48
def report_file_as_mark(file, offences)
  mark = if offences.empty?
           '.'.color(:green)
         else
           highest_offence = offences.max do |a, b|
             a.severity_level <=> b.severity_level
           end
           color = COLOR_FOR_SEVERITY[highest_offence.severity]
           highest_offence.encode_severity.color(color)
         end

  output.write mark
end
started(target_files) click to toggle source
Calls superclass method
# File lib/rubocop/formatter/progress_formatter.rb, line 17
def started(target_files)
  super
  @offences_for_files = {}
  file_phrase = target_files.count == 1 ? 'file' : 'files'
  output.puts "Inspecting #{target_files.count} #{file_phrase}"
end