最近なんか作ろうかと思ってから、作業開始するまでに寄り道してしまうことが多いような気がするので、開発効率上げるために、以前から利用してみたかったRails Templateを使ってみた。
公式
Rails アプリケーションのテンプレート - Railsガイド
これ
概要
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によってちょいちょい変えていかないといけないので、 お仕事で使うなら本当にベーシックな物だけ揃えて、メンテナンスコストを下げておかないと辛くなりそう。