class PmdTester::Report
A full report, created by the report XML parser, can be diffed with another report into a ReportDiff
Attributes
configerrors_by_rule[R]
errors_by_file[R]
exec_time[R]
file[R]
timestamp[R]
violations_by_file[R]
Public Class Methods
empty()
click to toggle source
# File lib/pmdtester/report_diff.rb, line 73 def self.empty new end
new(report_document: nil, file: '', exec_time: 0, timestamp: '0')
click to toggle source
# File lib/pmdtester/report_diff.rb, line 62 def initialize(report_document: nil, file: '', exec_time: 0, timestamp: '0') initialize_empty initialize_with_report_document report_document unless report_document.nil? @exec_time = exec_time @timestamp = timestamp @file = file end
Public Instance Methods
rule_summaries()
click to toggle source
# File lib/pmdtester/report_diff.rb, line 77 def rule_summaries summary = {} @violations_by_file.each_value do |violation| unless summary.key?(violation.rule_name) summary[violation.rule_name] = { 'name' => violation.rule_name, 'info_url' => violation.info_url, 'count' => 0 } end summary[violation.rule_name]['count'] += 1 end summary.values end
Private Instance Methods
initialize_empty()
click to toggle source
# File lib/pmdtester/report_diff.rb, line 107 def initialize_empty @violations_by_file = CollectionByFile.new @errors_by_file = CollectionByFile.new @configerrors_by_rule = {} end
initialize_with_report_document(report_document)
click to toggle source
# File lib/pmdtester/report_diff.rb, line 95 def initialize_with_report_document(report_document) @violations_by_file = report_document.violations @errors_by_file = report_document.errors @configerrors_by_rule = report_document.configerrors PmdTester.logger.debug("Loaded #{@violations_by_file.total_size} violations " \ "in #{@violations_by_file.num_files} files") PmdTester.logger.debug("Loaded #{@errors_by_file.total_size} errors " \ "in #{@errors_by_file.num_files} files") PmdTester.logger.debug("Loaded #{@configerrors_by_rule.size} config errors") end