LoginSignup
6
5

More than 5 years have passed since last update.

RuboCop の設定を共通と個別で別管理する

Posted at

RuboCop とは

RuboCop は Ruby スクリプトをコード解析してコーディングスタイルなどにツッコミを入れてくれるツールです。

メソッドが長すぎるとか,

if item = items.first
  # item を使った何か
end

みたいな代入を兼ねた条件式はやめとけとか。

設定をカスタマイズする

ただ,コーディングスタイルは人によっても違うし,プロジェクトによっても違います。

そこで,検査項目ごとに細かくカスタマイズできるようになっています。ある検査をしないようにしたり,判定の閾値を変えたりできます。

カスタマイズは YAML 形式で記述して,プロジェクトのディレクトリーの .rubocop.yml に入れておけば,そのプロジェクトのみに適用されます。

設定についてはたとえば「RuboCopの設定アレコレ」とか,そこからのリンク先を見てください。

設定を共通と個別で別管理

ここからが本題です。

すべてのプロジェクトに共通の設定もしたいし,プロジェクトごとにも設定したい。

共通設定をどこかに置いておいて,プロジェクトごとに上書きする形で個別に設定できればいいですね。

.rubocop.yml には inherit_from という項目を置くことができ,ここに共通設定のパスを書いておけば,それをまず読み込んで,それを上書きするように設定できます。

具体的には,共通設定をホームディレクトリーに入れておき,プロジェクトごとの .rubocop.yml

inherit_from: ~/.rubocop.yml

と書きます。

ホームディレクトリーを ~ で表すのは Unix 系 OS なら常識ですが,Windows でこう書けるとは思いませんでした!
(まさかと思いつつやってみたらできた)

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5