Guest User

Untitled

a guest
May 22nd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.61 KB | None | 0 0
  1. system 'rubocop > rubocop.result'
  2. file = File.open 'rubocop.result'
  3. rules_list = Hash.new { |hash, key| hash[key] = 0 }
  4.  
  5. file.each_line do |line|
  6. rules_list[$1] += 1 if line.match(/\d+:\s[CW]:\s(.+?):/)
  7. end
  8.  
  9. File.delete file
  10.  
  11. puts '#' * 100
  12. rules_list.sort.map { |rule, count| puts "#{rule} --> #{count} violations" }
  13.  
  14. puts '#' * 100
  15. rules_list
  16. .group_by { |_, size| size }
  17. .sort_by { |size, _| size }
  18. .map { |size, rules| puts "#{size} (x#{rules.size}) entries of each: #{rules.map(&:first)}" }
  19.  
  20. puts '#' * 100
  21. puts "#{rules_list.count} rules in total"
  22. puts "#{rules_list.values.sum} violations in total"
  23. puts '#' * 100
Add Comment
Please, Sign In to add comment