class Reek::Report::BaseReport
A report that contains the smells and smell counts following source code analysis.
@abstract Subclass and override {#show} to create a concrete report class.
@public
@quality :reek:TooManyInstanceVariables { max_instance_variables: 7 }
Constants
- NO_WARNINGS_COLOR
- WARNINGS_COLOR
Attributes
Public Class Methods
Source
# File lib/reek/report/base_report.rb, line 25 def initialize(heading_formatter: QuietHeadingFormatter, sort_by_issue_count: false, warning_formatter: SimpleWarningFormatter.new, progress_formatter: ProgressFormatter::Quiet.new(0)) @examiners = [] @heading_formatter = heading_formatter.new @progress_formatter = progress_formatter @sort_by_issue_count = sort_by_issue_count @total_smell_count = 0 @warning_formatter = warning_formatter end
@public
@quality :reek:BooleanParameter
Public Instance Methods
Source
# File lib/reek/report/base_report.rb, line 43 def add_examiner(examiner) self.total_smell_count += examiner.smells_count examiners << examiner self end
Add Examiner
to report on. The report will output results for all added examiners.
@param [Reek::Examiner] examiner object to report on
@public
Source
# File lib/reek/report/base_report.rb, line 52 def show raise NotImplementedError end
Render the report results on STDOUT
@public
Source
# File lib/reek/report/base_report.rb, line 60 def smells examiners.map(&:smells).flatten end
Source
# File lib/reek/report/base_report.rb, line 56 def smells? total_smell_count.positive? end