Rails Templateを使ってみる

最近なんか作ろうかと思ってから、作業開始するまでに寄り道してしまうことが多いような気がするので、開発効率上げるために、以前から利用してみたかったRails Templateを使ってみた。

公式

Rails アプリケーションのテンプレート - Railsガイド

これ

rochefort/rails_template

概要

mainの処理をafter_bundle以下に記載。
細かくメソッド分割したので、これを見たら、なんとなく概要は分かるかと思う。

after_bundle do
  run "spring stop"

  ## initial commit
  git_commit "rails new", with_rubocop: false

  ## install gems
  proc_install_rubocop
  proc_install_rspec
  proc_install_simplecov
  proc_install_pry
  proc_install_hamlit

  ## uninstall gems
  proc_uninstall_jbuilder if yes?("Would you like to uninstall jbuilder? (y/n): ")

  ## i18n
  proc_localize if yes?("Would you like to localize to Japan? (y/n): ")

  ## railtie
  proc_setup_railties

  ## initializers
  proc_setup_initializers
end

after_bundleは初回にrails newやらwebpacker insatllした後の処理。
個人的には、デフォルトのrails newから変更を加えていく方式でコミットしたかったので、このようにした。

はまりどころ

spring

最初にspringを止めておかないと、以降のrails genarateが動作しなかった。(この辺は何が正しいかわからないが、止めたらうまくいった。)

run "spring stop"

その他

rubocop

とりあえずrailsのmasterを利用する形にした(Style/FrozenStringLiteralComment だけdisable)。
この辺はRails.versionでそれぞれのmasterの物を取得するようにしても良いかもしれない。
(他に良い方法がないだろうか)

まとめ

springの件ではまったりしたが、ユーザ入力に応じて実施することを変えられたりできるので、割となんでもできるという印象だが、 この辺はRailsやgemのversionによってちょいちょい変えていかないといけないので、 お仕事で使うなら本当にベーシックな物だけ揃えて、メンテナンスコストを下げておかないと辛くなりそう。

ご参考