🤖
rubocopでコードスタイルの自動修正をする
開発環境
- macOS
- VSCode
- Rails 7.1.3.3
- ruby-3.2.3
- PostgreSQL 16.2
- Heroku
行いたいこと
-
rubocop
を導入しコードスタイルの自動修正をする。 - この実装は本来Rails 7.2 アプリケーションに自動的に組み込まれるが、以前のバージョンで実装したため追加実装をしていきます。
(実装手順はこちらです)
Gemfileに追記しインストールする
・Gemfile
に追記してbundle install
Gemfile
gem "rubocop-rails-omakase", require: false, group: [ :development ]
・続けてターミナルで以下のコマンドを実行(ファイルとコードが生成される)
ターミナル
bundle binstubs rubocop
⇩ bin/rubocop
ファイルが生成され以下のコードが追加される
bin/rubocop
#!/usr/bin/env ruby
# frozen_string_literal: true
#
# This file was generated by Bundler.
#
# The application 'rubocop' is installed as part of a gem, and
# this file is here to facilitate running it.
#
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
bundle_binstub = File.expand_path("bundle", __dir__)
if File.file?(bundle_binstub)
if File.read(bundle_binstub, 300).include?("This file was generated by Bundler")
load(bundle_binstub)
else
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
end
end
require "rubygems"
require "bundler/setup"
load Gem.bin_path("rubocop", "rubocop")
.rubocop.yml ファイルを作成しコードを追記する
・アプリケーションのルートに.rubocop.ymlファイルを追加し、以下のコードを記載する。
.rubocop.yml
# Omakase Ruby styling for Rails
inherit_gem:
rubocop-rails-omakase: rubocop.yml
# Your own specialized rules go here
ここまででrubocopの導入は完了です。
コードのスタイルチェック と 自動修正
・コードのスタイルチェック
ターミナル
./bin/rubocop
・自動修正
ターミナル
./bin/rubocop -a
Discussion