はじめに
静的解析ツールを使って、コーディング規約に沿ってコーディングされているかを解析できます。
そして、その解析をコミット時に行い、規約違反していたらコミットできないpre-commit
というGemがあります。
今回は、その設定でつまづいたのでここに残しておきます。
参考にしたのはこちらの記事です。
rubocop + pre-commitで規約違反のコードをコミットできないようにする
Gemの導入
今回、rubocop-airbnb
という規約が決まっているgemを導入してみました。
rubocop-airbnb
の使い方はこちらを参考にしてください。
group :development do
gem 'pre-commit'
gem 'rubocop-airbnb'
end
gemをインストールします。
$ docker-compose build
ここで、dockerの場合は下記の設定が必要になります。
$ git config pre-commit.ruby "docker-compose run --rm web bundle exec ruby"
# 以下の設定だとpre-commitが動いてくれない
$ git config pre-commit.ruby "bundle exec ruby"
また、参考にした記事のコマンドで、bundle
から始まるものは基本的にこのように使う必要があるみたいです。
$ docker-compose run --rm web bundle exec #以下のコマンド
まとめ
Dockerを使う場合は、設定なども含めてdockerコマンド
をつける必要があるため、注意が必要ですね!