LoginSignup
3
1

More than 1 year has passed since last update.

rails new で指定するフラグによって生成されるコードの違いを確認するリポジトリを作った

Last updated at Posted at 2022-01-01

rails new するとき、いつも --skip-xxx するのとしないとのでどのような違いがあるんだっけ? と気になってしまって毎回調べるのが面倒なのでリポジトリを作りました。

作ったもの

このリポジトリでは、 Rails version × flag という組合わせで rails new を実行して出力されたコードを git の tag で参照できるようにしています。

tag の名前は {Rails version}-{flag} の形式になっています。

例えば、 Rails 7.0.1 で --minimal を指定して出力されたコードは 7.0.1-minimal という Tag で参照することができます。

現時点で対応している Rails のバージョンは以下です。

  • 6.0.x
  • 6.1.x
  • 7.0.x

使い方

見ればわかりそうですが、念のため使い方を書いておきます。

例えば Rails 7.0.1 において、 --api というフラグがあり、それを指定することによって生成されるコードがどのように変わるのかを調べたいとします。

README.markdown に掲載されている表(以下は抜粋)から --api の flag の行で 7.0.1 の位置の :mag: をクリックすると、GitHub 上で差分を確認することができます。

flag 6.0.4.4 6.1.4.4 7.0.1
--api 🔍 🔍 🔍

(2022-01-08 時点の差分表示)

image.png

上記から、 --api を指定することで出力結果に以下の違いがあることがわかります。

  • Gemfile に sprockets-rails, importmap-rails, turbo-rails, stimulus-rails, jbuilder, ... (省略) ... が取り除かれる
  • ApplicationController の親クラスが ActionController::Base から ActionController::API に変わる
  • config.api_only = true の設定が追加されることでミドルウエアの構成が必要最小限のものに変わる
  • などなど...

また、自分で URL を記述することで任意の Tag 同士を比較することができます。 GitHub での Tag 間の比較方法については以下のドキュメントを参照すると良いでしょう。

3
1
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
3
1