Sha256: ee20364ea691a5f6c4879d90dfbf0f0ef10c76ffc16b0f77725e56adc82704c5
Contents?: true
Size: 552 Bytes
Versions: 2
Compression:
Stored size: 552 Bytes
Contents
# frozen_string_literal: true module Attractor # makes suggestions for refactorings class Suggester attr_accessor :values def initialize(values) @values = values || [] end def suggest(threshold = 95) products = @values.map { |val| val.churn * val.complexity } products.extend(DescriptiveStatistics) quantile = products.percentile(threshold.to_i) @values.select { |val| val.churn * val.complexity > quantile } .sort_by { |val| val.churn * val.complexity }.reverse end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
attractor-2.0.5 | lib/attractor/suggester.rb |
attractor-2.0.4 | lib/attractor/suggester.rb |