Class: RuboCop::Formatter::RedmineWikiFormatter

Inherits:
BaseFormatter
  • Object
show all
Includes:
PathUtil, TextUtil
Defined in:
lib/rubocop/formatter/redmine_wiki_formatter.rb

Overview

A Redmine wiki formatter that displays only files with offenses.

Instance Method Summary collapse

Instance Method Details

#file_finished(file, offenses) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/rubocop/formatter/redmine_wiki_formatter.rb', line 15

def file_finished(file, offenses)
  @files << file
  return if offenses.empty?
  @total_offense_file_count += 1
  count_stats(offenses)
  report_file(file, offenses)
end

#finished(inspected_files) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/rubocop/formatter/redmine_wiki_formatter.rb', line 23

def finished(inspected_files)
  output.printf("h2. Summary\r\n\r\n")
  output.printf("* Generated on %s\r\n", DateTime.now)
  output.printf("* %s inspected, %s detected in %s\r\n", 
    pluralize(@files.count, 'file'), 
    pluralize(@total_offense_count, 'offense', no_for_zero: true),
    pluralize(@total_offense_file_count, 'file'))
end

#report_file(file, offenses) ⇒ Object



32
33
34
35
36
37
38
39
40
# File 'lib/rubocop/formatter/redmine_wiki_formatter.rb', line 32

def report_file(file, offenses)
  output.puts("h2. #{smart_path(file)} - #{pluralize(offenses.count, 'offense')}\r\n\r\n")

  offenses.each do |o|
    output.printf("h3. Line %d, Column %d\r\n\r\n%s\r\n", o.line, o.real_column, message(o))
    output.printf("<pre><code>%s</code></pre>\r\n\r\n", o.location.source_line)
  end
  output.printf("\r\n")
end

#started(_target_files) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/rubocop/formatter/redmine_wiki_formatter.rb', line 7

def started(_target_files)
  @files = []
  @total_offense_file_count = 0
  @total_offense_count = 0
  @total_correction_count = 0
  output.printf("h1. RuboCop (version %s) Inspection Report\r\n\r\n", RuboCop::Version::STRING)
end