Ruby
Rails
Gem
RubyOnRails
RuboCop

RuboCopでWarning以上の項目のみ検出する方法

ユースケース

既に稼働しているRailsプロジェクトでRuboCopを導入してみたはいいものの、何千もの違反が検出されてしまった。ひとまずWarning以上の項目だけ確認したい、そんな時に。

バージョン情報

v0.59.0以上

コマンド(結論)

$ rubocop --fail-level W --display-only-fail-level-offenses

解説

--fail-level W
Rubocopの警告はRefactor, Convention, Warning, Error, Fatalの5段階に分かれており、指定した深刻度以上の違反が検出された場合にはエラーコードを伴って終了する、という意味。この場合はW以上はエラーと見なされます。

--display-only-fail-level-offenses
この記事の本題で、上記--fail-levelで指定した深刻度以上の項目のみ表示します。Wを指定しているので、ここではWarning以上の項目のみ検出されるという仕組み。

参考資料

Basic Usage - RuboCop: The Ruby Linter that Serves and Protects
RuboCopのドキュメント。その他のコマンドはこちらに全て載っています。

rubocopが一切使われていないRailsアプリにrubocopを段階的に導入していく際にやったこと/やりたいこと