2021-04-13に更新

RuboCopの出力をルールでグループ化 + 違反件数の多い順にソート

ファイルごとではなくルールごとにまとめて見たかったので適当なスクリプトを書いてみました。
ついでに違反件数が多い順にソートしてみました。

# sort_rubocop.rb

map = {}

ARGF.each_line do |line|
  rule_name = line.sub(" [Correctable]", "").split(" ")[2]
  map[rule_name] ||= []
  map[rule_name] << line
end

# for Emacs
puts "# -*- mode: compilation -*-"

map.to_a
  .sort_by { |_, lines| -lines.size } # 件数が多い順
  .each do |rule_name, lines|
    puts ""
    puts "# #{rule_name}"
    lines.each { |line| puts line }
  end

使い方:

rubocop -f e | ruby sort_rubocop.rb
Originally published at zenn.dev
ツイッターでシェア
みんなに共有、忘れないようにメモ

sonota88

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント