Sha256: 59d8d5a28313f532831f50bcdee00ab7022c0affbcc84fefbf6b4f6018b618b5

Contents?: true

Size: 434 Bytes

Versions: 7

Compression:

Stored size: 434 Bytes

Contents

# frozen_string_literal: true

module Attractor
  # makes suggestions for refactorings
  class Suggester
    def initialize(values)
      @values = values
    end

    def suggest
      products = @values.map { |val| val.churn * val.complexity }
      products.extend(DescriptiveStatistics)
      top_95_quantile = products.percentile(95)

      @values.select { |val| val.churn * val.complexity > top_95_quantile }
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
attractor-0.3.4 lib/attractor/suggester.rb
attractor-0.3.3 lib/attractor/suggester.rb
attractor-0.3.2 lib/attractor/suggester.rb
attractor-0.3.1 lib/attractor/suggester.rb
attractor-0.3.0 lib/attractor/suggester.rb
attractor-0.2.1 lib/attractor/suggester.rb
attractor-0.2.0 lib/attractor/suggester.rb