Guradを使っている時に自分の環境だけrubocopのExcludeを変えたい時に見るページ

自分用においていて、別に rubocop によるチェックが不要なファイルがあったのでメモ

方法

  • Guardfile の rubocop の設定にオプションをつけて、自前の rubocop_local.yml を使うようにする
  • rubocop_local.yml の中で、 rubocop.ymlinherit_from する
  • その後に、独自の設定を書く

コード

Guardfile

guard :rubocop, cli: '-c .rubocop_local.yml' do
  watch(/.+\.rb$/)
  watch(/.+\.rake$/) # .rakeファイルも監視対象にする
  watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
end

.rubocop_local.yml

inherit_from: .rubocop.yml

AllCops:
  Exclude:
    - 'Guardfile'
    # 他に `rubocop.yml` にある `Exclude` もコピー

エイリアスを使えばもっとかっこよくできそうだけれど、そのために本体のコードをいじるのも違うと思ったので一旦ここまで