Class: Hashira::Complexity::Analyzer

Inherits:
Object
  • Object
show all
Defined in:
lib/hashira/complexity/analyzer.rb

Constant Summary collapse

THRESHOLD =
10

Instance Method Summary collapse

Constructor Details

#initialize(project, trees) ⇒ Analyzer

Returns a new instance of Analyzer.



8
9
10
11
# File 'lib/hashira/complexity/analyzer.rb', line 8

def initialize(project, trees)
  @project = project
  @scores = trees.flat_map { |path, tree| scores_for(path, tree) }
end

Instance Method Details

#classesObject



15
# File 'lib/hashira/complexity/analyzer.rb', line 15

def classes = Rollup.new(@scores).classes.sort_by { -it.cognitive }

#findingsObject



17
# File 'lib/hashira/complexity/analyzer.rb', line 17

def findings = flagged.map { MethodFinding.new(it).to_finding }

#methodsObject



13
# File 'lib/hashira/complexity/analyzer.rb', line 13

def methods = @scores.sort_by { -it.cognitive }