RuboCopメモ

RuboCop 1.11.0で確認。

以下のGemをインストールする。

group :development do
  gem 'rubocop', require: false
  gem 'rubocop-rspec', require: false
  gem 'rubocop-performance', require: false
  gem 'rubocop-rails', require: false
end

bundle exec rubocopで実行。-aで挙動に影響しない範囲で自動整形が行われ、-Aで挙動に影響する可能性のあるものも含めて自動整形が行われる。

以前はcop name(disableするときに指定する名前)を表示するのに-Dオプションが必要だったが現在ではデフォルトの挙動になっている。

.rubocop.ymlで設定をカスタマイズできる。デフォルトの設定は以下のURLを参照。

https://github.com/rubocop-hq/rubocop/blob/master/config/default.yml

暫定の.rubocop.yml設定。

# rubocop-performanceなどを有効化
require:
  - rubocop-performance
  - rubocop-rails
  - rubocop-rspec

# 日本語コメントを許可
Style/AsciiComments:
  Enabled: false

# RSpecでのブロック行数チェックを無効化
Metrics/BlockLength:
  Exclude:
    - 'spec/**/*'
    - 'config/**/*'
    - 'Guardfile'

AllCops:
  # 新しいチェックを全て有効化させる
  NewCops: enable
  # db/schema.rbを追加
  Exclude:
    - 'db/schema.rb'
    - 'node_modules/**/*'
    - 'tmp/**/*'
    - 'vendor/**/*'
    - '.git/**/*'