Sha256: d417c489f67daa1b7ad41a0461f08298e165137229c3a0636ed07f96fc1516e4

Contents?: true

Size: 586 Bytes

Versions: 12

Compression:

Stored size: 586 Bytes

Contents

namespace :metric do
  desc 'changes per file according to git'
  task :churn do
    $stdout.sync = true
    out = lambda{|changes, rb| puts("%4d %s" % [changes, rb]) }
    churn = {}

    print 'churning '

    Dir['lib/**/*.rb'].each do |rb|
      changes = `git-log --pretty=oneline '#{rb}'`.count("\n")
      print '.'
      # out[changes, rb]
      churn[rb] = changes
    end
    puts ' done.'

    sorted = churn.sort_by{|r,c| c }.reverse
    puts "Top 20:"
    sorted.first(20).each{|(r,c)| out[c,r] }
    puts "Bottom 20:"
    sorted.last(20).each{|(r,c)| out[c,r] }
  end
end

Version data entries

12 entries across 12 versions & 3 rubygems

Version Path
Pistos-ramaze-2008.09 rake_tasks/metric.rake
Pistos-ramaze-2008.12 rake_tasks/metric.rake
Pistos-ramaze-2009.01 rake_tasks/metric.rake
manveru-ramaze-2008.07 rake_tasks/metric.rake
manveru-ramaze-2008.08 rake_tasks/metric.rake
manveru-ramaze-2008.09 rake_tasks/metric.rake
manveru-ramaze-2008.10 rake_tasks/metric.rake
manveru-ramaze-2008.12 rake_tasks/metric.rake
manveru-ramaze-2009.01 rake_tasks/metric.rake
ramaze-2008.11 rake_tasks/metric.rake
ramaze-2009.01 rake_tasks/metric.rake
ramaze-2009.02 rake_tasks/metric.rake