Class: Rubycritic::SmellAdapter::Flog

Inherits:
Object
  • Object
show all
Defined in:
lib/rubycritic/adapters/smell/flog.rb

Constant Summary collapse

HIGH_COMPLEXITY_SCORE_THRESHOLD =
25
VERY_HIGH_COMPLEXITY_SCORE_THRESHOLD =
60

Instance Method Summary collapse

Constructor Details

#initialize(paths) ⇒ Flog

Returns a new instance of Flog.



11
12
13
14
# File 'lib/rubycritic/adapters/smell/flog.rb', line 11

def initialize(paths)
  @flog = ::Rubycritic::Analyser::Flog.new
  @flog.flog(*paths)
end

Instance Method Details

#smellsObject



16
17
18
19
20
21
22
23
# File 'lib/rubycritic/adapters/smell/flog.rb', line 16

def smells
  smells = []
  @flog.each_by_score do |class_method, original_score|
    score = original_score.round
    smells << create_smell(class_method, score) if score >= HIGH_COMPLEXITY_SCORE_THRESHOLD
  end
  smells
end