class Attractor::Suggester
makes suggestions for refactorings
Attributes
values[RW]
Public Class Methods
new(values)
click to toggle source
# File lib/attractor/suggester.rb, line 8 def initialize(values) @values = values || [] end
Public Instance Methods
suggest(threshold = 95)
click to toggle source
# File lib/attractor/suggester.rb, line 12 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