Hack Your Design!

Railsと同じRuboCopの設定が利用できるrubocop-rails gemを作った

(image)Railsと同じRuboCopの設定が利用できるrubocop-rails gemを作った

Railsとほとんど同じRuboCopの設定が利用できるrubocop-railsというgemを作りましたので紹介します。

モチベーション

Rubyの静的コード解析の定番といえばRuboCopですよね。ですがRuboCopの設定ファイルrubocop.ymlの設定作業って結構大変じゃないですか?

RuboCopはデフォルトだと結構うるさすぎることが多いのでプロジェクト・チームに応じて何かしら設定はカスタマイズすると思います。しかし1つ1つ設定項目毎にチームのコンセンサスを取るのは非常にダルい。チームの一人が持ち込んだ<俺の考える最強のRuboCop設定>に従うという手もありますが「誰がお前の作った設定に従うか!」という気持ちも無くはない。

「何かしらRuboCop設定のレールが欲しいよね〜〜〜 :railway_car:」というところで閃き:bulb:、「だったら公式railsチームの用意したrubocop.ymlを使えばいいじゃない」ということで冒頭のRailsとほぼ同じ設定を持ったrubocop-rails gemを作りました。

使い方

使い方はrubocop-railsをinstallした後に、下記の設定を記述したrubocop.ymlを用意する。

inherit_gem:
  rubocop-rails:
    - config/rails.yml

オーバーライドしたい設定、追加したい設定があれば、適宜同じrubocop.yml内に設定を追加していく。

実際使ってみてどうか

実際使ってみるとうるさすぎず、しかしコードスタイルとしてきっちり統一させたいところは統一されており、使い心地はなかなか悪くないです。

また副次効果として、Railsにコントリビュートするときに普段からこのgemの設定に慣れておくと、Rails公式rubocop設定違反にならないコードを書けて便利。 :innocent:

こんなRuboCop設定もあるよ

他の<いい感じ>に設定されたRuboCop設定も紹介してみます。これらの設定はきちんとチーム・会社でディスカッションされた上で作られたものだと思いますので信頼できるものかと思います。

  • このエントリーをはてなブックマークに追加
comments powered by Disqus