Sha256: 4ab6bf169a87a09901b82c446e564ff900f1269129e9f878a0a2e2e3514aafe3
Contents?: true
Size: 563 Bytes
Versions: 1
Compression:
Stored size: 563 Bytes
Contents
class Calculator HALF_LIFE = 60.0*60*24 def initialize(time) @time = time end def go(stats) heat = {} stats.each do |commit| next if commit[:time] > @time time_delta = @time - commit[:time] unless commit[:affected_files] next end commit[:affected_files].each do |file| impact = (file[:insertions] + file[:deletions]).to_f heat[file[:file]] ||= 0 heat[file[:file]] += impact*(0.5**(time_delta/HALF_LIFE)) end end heat.sort_by {|_key, value| value}.reverse end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
git_heat-0.2.0 | lib/git_heat/calculator.rb |