Rails RuboCopを使った静的解析

RuboCopはRubyの静的解析ツールです。Ruby Style Guideに沿ったチェックをしてくれます。

公式

https://github.com/bbatsov/rubocop#compatibility

導入

Gemfilerubocopを追加し、インストールします。

group :development do
  gem 'rubocop', require: false
end
$ bundle install

使い方

同じディレクトリのRubyファイルを解析するには引数無しにrubocopを呼びます。

$ rubocop

特定のRubyファイルを解析するには、ファイル名を指定します。

$ rubocop path/to/something.rb

指摘内容がよく分からないときは

指摘されたメッセージを下のページで部分検索します。推奨コード例が載っています。

https://github.com/bbatsov/ruby-style-guide

一部のルールをOFFにしたい

Railsプロジェクトのルートディレクトリに.rubocop.ymlを作成し、変更したいルールを記述します。

例) “Use only ascii symbols in comments.“というルールを無効化するなら次のようにします。

Rails:
 Enabled: true

# Use only ascii symbols in comments.
AsciiComments:
 Enabled: false

ルールの全容は公式マニュアルに書いてあります。お目当のルールを探すのが難しいですが。

http://rubocop.readthedocs.io/en/latest/cops/