Class: Hashira::Smells::Report

Inherits:
Object
  • Object
show all
Defined in:
lib/hashira/smells/report.rb

Constant Summary collapse

CHECKS =
Hashira::Smells::Check.subclasses.sort_by(&:name).freeze
JUDGES =
[
  Hashira::Smells::DataClump, Hashira::Smells::AssumedState,
  Hashira::Smells::ModuleInitialize, Hashira::Smells::RepeatedConditional,
  Hashira::Smells::StateSprawl
].freeze
PROBES =
(CHECKS - JUDGES).freeze

Instance Method Summary collapse

Constructor Details

#initialize(project, trees, boundaries = nil) ⇒ Report

Returns a new instance of Report.



31
32
33
34
35
# File 'lib/hashira/smells/report.rb', line 31

def initialize(project, trees, boundaries = nil)
  @project = project
  @trees = trees
  @boundaries = boundaries
end

Instance Method Details

#findingsObject



37
# File 'lib/hashira/smells/report.rb', line 37

def findings = @_findings ||= sniff(types, JUDGES) + sniff(methods, PROBES) + sprawl