rubocopは.rubocop.yml
を編集すれば、独自のルールを設定できる。
ただし、この設定ファイルはデフォルトの項目を オーバーライドする!
例えば、AllCops/Exclude
に設定を追加したい場合、下記のように書かないとうまく動かない。
AllCops:
Exclude:
- 'vendor/**' # default.ymlに設定されている項目
- 'tools/**' # 追加したい項目
これは、先に書いたようにデフォルトのAllCops/Exclude
がオーバーライドされてしまうため。
余談だがAllCops/Exclude
から'vendor/**'が失われると、インストールされているgemに含まれる.rubocop.ymlが読み込まれることになり、特にrubocop 0.20.0以降、設定項目のrenameが行われたようで、下記のようなメッセージが表示され、原因の特定が難しくなるだろう。(というかハマった・・・のでこれ書いてる
AllCops/Excludes was renamed to AllCops/Exclude
ちなみに、デフォルトの設定が書かれているファイルはrubocop gemのディレクトリ下config/default.yml
。
gemがvendor/bundle下にインストールされているならvendor/bundle/gems/rubocop-x.y.z/config/default.yml
にあるので、変更する際は参照してみると良いと思う。