Class: Hashira::Report::ComplexityTable

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

Constant Summary collapse

TOP =
10
METHOD_ROW =
"%-44s %4s %6s  %s"
CLASS_ROW =
"%-32s %5s %8s %6s"

Instance Method Summary collapse

Constructor Details

#initialize(complexity, io: $stdout) ⇒ ComplexityTable

Returns a new instance of ComplexityTable.



10
11
12
13
# File 'lib/hashira/report/complexity_table.rb', line 10

def initialize(complexity, io: $stdout)
  @complexity = complexity
  @io = io
end

Instance Method Details



15
16
17
18
19
20
# File 'lib/hashira/report/complexity_table.rb', line 15

def print
  section(@complexity.methods, METHOD_ROW, %w[method Cog Calls Loc],
          "Cognitive complexity — worst methods (Cog = how hard to read, Calls = message sends)")
  section(@complexity.classes, CLASS_ROW, %w[class Cog Methods Peak],
          "Per-class rollup (Cog total survives extract-method; Peak is the worst method it hides)")
end