Guest User

Untitled

a guest
Jul 22nd, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.60 KB | None | 0 0
  1. gems = Hash.new(0)
  2. gems_size = Hash.new(0)
  3. total = 0
  4.  
  5. `du -ks ~/.rvm/gems/*/gems/*`.each_line do |line|
  6. size = line[/\d+/].to_i
  7. name = line[/\/([^\/\n]+)$/, 1]
  8.  
  9. gems[name] += 1
  10. gems_size[name] = size
  11. total += size
  12. end
  13.  
  14. bloats = 0
  15.  
  16. length = gems.keys.map { |a| a.length }.sort.last
  17.  
  18. gems.each do |name, num|
  19. size = gems_size[name]
  20. bloat = (num - 1) * size
  21. bloats += bloat
  22.  
  23. puts "#{num} of #{name}".ljust(length + 5) + "Size: #{size}kB"
  24. end
  25.  
  26. puts
  27. puts " Total gems: #{total / 1024}MB"
  28. puts " Total bloat: #{bloats / 1024}MB"
  29. puts " #{100*bloats/total}% of your gems are duplicates."
Add Comment
Please, Sign In to add comment