Sha256: ec64bde51dd42d5525af7cd46f61b6be7165d3b2408a6d9e6122453836f1f6b5

Contents?: true

Size: 715 Bytes

Versions: 12

Compression:

Stored size: 715 Bytes

Contents

module ScoringStrategies

  def percentile(ranking, item)
    ranking.percentile(item) # per project score percentile
  end

  def identity(ranking, item)
    ranking[item] # Use the score you got (ex flog score of 20 is not bad even if it is the top one in project)
  end

  def present(row)
    1 # If present it's a one, not present it's a zero - For things like Reek that don't have a number
  end

  def sum(scores)
    scores.inject(0) {|s,x| s+x}
  end

  def average(scores)
    # remove dependency on statarray
    # scores.to_statarray.mean
    score_length = scores.length
    sum = 0
    sum = scores.inject( nil ) { |sum,x| sum ? sum+x : x }
    (sum.to_f / score_length.to_f)
  end

  extend self
end

Version data entries

12 entries across 12 versions & 4 rubygems

Version Path
metric_fu-2.1.3.4 lib/scoring_strategies.rb
bf4-metric_fu-2.1.3.4 lib/base/scoring_strategies.rb
bf4-metric_fu-2.1.3.3 lib/base/scoring_strategies.rb
bf4-metric_fu-2.1.3.2 lib/base/scoring_strategies.rb
bf4-metric_fu-2.1.3.1 lib/base/scoring_strategies.rb
danmayer-metric_fu-2.1.3 lib/base/scoring_strategies.rb
danmayer-metric_fu-2.1.2 lib/base/scoring_strategies.rb
rferraz-metric_fu-2.1.2 lib/base/scoring_strategies.rb
rferraz-metric_fu-2.1.1 lib/base/scoring_strategies.rb
metric_fu-2.1.1 lib/base/scoring_strategies.rb
metric_fu-2.1.0 lib/base/scoring_strategies.rb
metric_fu-2.0.1 lib/base/scoring_strategies.rb