0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RuboCopはじめました

Last updated at Posted at 2020-01-01

Railチュートリアルをカンニングしながらインスタクローンを作っているのですが、RuboCopを導入してみました

初期設定で色々と戸惑ってしまったので、対処方法を自分用にまとめます

##RuboCopとは
Ruby Style Guideに則ってコードを自動修正してくれたり、誤った書き方を指摘してくれるgemです

公式ドキュメント
https://docs.rubocop.org/en/stable/

GitHub
https://github.com/rubocop-hq/rubocop

##インストール方法

###直接インストール

$ gem install rubocop

###Gemfileからインストール

Gemfile
gem 'rubocop', require: false

ドキュメントによると、RuboCopはアップデートによって過去のバージョンと互換性のない変化を起こすことがあるらしいので、不測のアップデートを避けたい方はこちらの方法でとのこと

Gemfile
gem 'rubocop', '~> 0.78.0', require: false

##基本的な使用方法

以下のコマンドを実行するだけ。

$rubocop

このままだとどこが規約違反なのか指摘してくれるだけなので、自動で直して欲しい時は-aを付け加える

$rubocop -a

こうするとインデントなどの小さな規約違反を自動で直してくれます

自動で直してくれない部分は自分で直す必要あり

ただデフォルトの設定は少し厳しすぎるので、自分で設定を変更してみます

##設定を変える

設定を変える方法はルートディレクトリに.rubocop.ymlというファイルを作り、そこに設定を書き込んでいくだけでオーケーです

以下は自分が最初に行っておくべきと感じた設定です

.rubocop.yml

LineLength:
  Max: 100
  
Documentation:
  Enabled: false
  
AsciiComments:
  Enabled: false
  
MixinUsage:
  Enabled: false
  
ClassAndModuleChildren:
  Enabled: false

Rails newした直後にrubocop -aを実行してもかなりの数の規約違反が出てきてびっくりすると思いますが、とりあえずこの設定にしておけばRails newの直後からrubocop先生に怒られることはないと思います

またどんな設定があるのかは、ググるよりもGitHubのソースコードを見た方が早いです

rubocop -aを実行して怒られた箇所をGitHubのソースコードから探してみましょう

##最後に

自分用なのでかなり雑に書いています。申し訳ないです。

また、おかしい部分がありましたらご指摘ください

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?