Class: Codescout::FlogStats
- Inherits:
-
Object
- Object
- Codescout::FlogStats
- Defined in:
- lib/codescout/flog_stats.rb
Instance Attribute Summary collapse
-
#average_score ⇒ Object
readonly
Returns the value of attribute average_score.
-
#score ⇒ Object
readonly
Returns the value of attribute score.
-
#scores ⇒ Object
readonly
Returns the value of attribute scores.
Instance Method Summary collapse
-
#initialize(analyzer) ⇒ FlogStats
constructor
A new instance of FlogStats.
Constructor Details
#initialize(analyzer) ⇒ FlogStats
Returns a new instance of FlogStats.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/codescout/flog_stats.rb', line 8 def initialize(analyzer) = { all: true, methods: true, continue: true, parser: Ruby19Parser } @flog = Flog.new() @flog.flog(*analyzer.files) @flog.calculate @score = @flog.total_score @average_score = @flog.average @scores = {} @flog.mass.each_pair do |file, mass| @scores[file] = { score: 0, scores: [] } end @flog.totals.each_pair do |k,v| next if @flog.method_locations[k].nil? score = v.round class_name, method_name = parse_method_string(k) path, line = @flog.method_locations[k].split(":") code = nil if score >= 25 && method_name method_source = Codescout::SourceFile.new(File.read(path)).method_source(method_name) if method_source code = method_source.code end end @scores[path][:score] += score @scores[path][:scores] << { class_name: class_name, method_name: method_name, score: score, line: line, code: code } end @flog = nil end |
Instance Attribute Details
#average_score ⇒ Object (readonly)
Returns the value of attribute average_score.
5 6 7 |
# File 'lib/codescout/flog_stats.rb', line 5 def average_score @average_score end |
#score ⇒ Object (readonly)
Returns the value of attribute score.
5 6 7 |
# File 'lib/codescout/flog_stats.rb', line 5 def score @score end |
#scores ⇒ Object (readonly)
Returns the value of attribute scores.
6 7 8 |
# File 'lib/codescout/flog_stats.rb', line 6 def scores @scores end |