Module: Skunk::Reporter

Defined in:
lib/skunk/reporter.rb

Overview

Pick the right report generator based on the format specified in the configuration. If the format is not supported, it will default to ConsoleReport.

Constant Summary collapse

REPORT_GENERATOR_CLASS_FORMATS =
%i[json].freeze

Class Method Summary collapse

Class Method Details

.generate_report(analysed_modules) ⇒ Object



9
10
11
12
13
# File 'lib/skunk/reporter.rb', line 9

def self.generate_report(analysed_modules)
  RubyCritic::Config.formats.uniq.each do |format|
    report_generator_class(format).new(analysed_modules).generate_report
  end
end

.report_generator_class(config_format) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/skunk/reporter.rb', line 15

def self.report_generator_class(config_format)
  if REPORT_GENERATOR_CLASS_FORMATS.include? config_format
    require "skunk/generators/#{config_format}_report"
    Generator.const_get("#{config_format.capitalize}Report")
  else
    require "skunk/generators/console_report"
    Generator::ConsoleReport
  end
end