LoginSignup
0
2

More than 3 years have passed since last update.

【Ruby on Rails】Rubocop-airbnbを使用して、コードチェック

Posted at

開発環境

ruby 2.5.7
Rails 5.2.4.3
OS: macOS Catalina

RuboCopとは

RuboCopとは、rubyコードが「コーディング規約どおりに書かれているか」をチェックする静的コード解析ツールです。

rubocop−airbnbとは

airbnb社が作成した解析となり、今回はこちらを使用しコードチェックを行います。
gitは下記の通りです。
https://github.com/airbnb/ruby/tree/master/rubocop-airbnb

Rubocop-airbnb」のインストール

下記の通りに追加します。

Gemfile
group :development do

...

  gem 'rubocop-airbnb'
end
ターミナル
$ bundle install

設定ファイルの作成

アプリケーションフォルダ配下に
「.rubocop.yml」と「.rubocop_airbnb.yml」ファイルを作成します。
これらを作成することによりrubocopでコード解析したくないファイルやフォルダを指定します。
※ファイル名の「.」は必要なため忘れず記載してください。

.rubocop.yml
inherit_from:
  - .rubocop_airbnb.yml

AllCops:
  Exclude:
    - 'db/**/*'
    - 'bin/*'
    - 'config/environments/*'
    - 'config/application.rb'
    - 'config/initializers/*'
    - 'config/spring.rb'
    - 'lib/tasks/*'
    - 'vendor/**/*'
    - 'path/ruby'
.rubocop_airbnb.yml
require:
  - rubocop-airbnb

Rubocopでコードのチェック

ターミナルでアプリケーションフォルダに移動し、下記を実行。

ターミナル
$ bundle exec rubocop --require rubocop-airbnb

...

50 files inspected, 150 offenses detected

このように表示されます。
50ファイルをチェックして150箇所のコーディング違反があったことを意味しています。
このように数が膨大になると一つ一つチェックは難しいため、下記を実行。

ターミナル
$ bundle exec rubocop --require rubocop-airbnb -a

...

50 files inspected, 150 offenses detected, 150 offenses corrected

このように150個すべてを修正してくれました。
これでも修正が出来ていない場合は、目視での確認になります。

まとめ

このようにコードの自動修正が簡単にできます。
すごく便利なのでぜひ使ってみてください。

またtwitterではQiitaにはアップしていない技術や考え方もアップしていますので、
よければフォローして頂けると嬉しいです。
詳しくはこちら https://twitter.com/japwork

0
2
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
0
2