Class: RuboCop::Formatter::ProgressFormatter
Overview
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.
Constant Summary
collapse
- DOT =
'.'.freeze
ClangStyleFormatter::ELLIPSES
SimpleTextFormatter::COLOR_FOR_SEVERITY
Instance Attribute Summary
#options, #output
Instance Method Summary
collapse
Methods included from TextUtil
pluralize
#report_file
#report_file, #report_summary
#colorize, #rainbow
Methods included from PathUtil
absolute?, hidden?, issue_deprecation_warning, match_path?, relative_path
#file_started
Constructor Details
#initialize(output, options = {}) ⇒ ProgressFormatter
14
15
16
17
|
# File 'lib/rubocop/formatter/progress_formatter.rb', line 14
def initialize(output, options = {})
super
@dot = green(DOT)
end
|
Instance Method Details
#file_finished(file, offenses) ⇒ Object
25
26
27
28
29
30
31
32
|
# File 'lib/rubocop/formatter/progress_formatter.rb', line 25
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) ⇒ Object
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/rubocop/formatter/progress_formatter.rb', line 34
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) ⇒ Object
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/rubocop/formatter/progress_formatter.rb', line 52
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) ⇒ Object
19
20
21
22
23
|
# File 'lib/rubocop/formatter/progress_formatter.rb', line 19
def started(target_files)
super
@offenses_for_files = {}
output.puts "Inspecting #{pluralize(target_files.size, 'file')}"
end
|