Rails Application Templates とは
- 新たに Rails アプリケーションを作成する際に Gem の追加やイニシャライズを簡単に行うことができる仕組み
- 例えば、作成するアプリケーションは決まって、"認証に devise を使用する"、"テストには RSpec" など、お気に入りの Gem がある人に効果を発揮する
- rails new でアプリケーションを作成してから Gemfile を修正するのではなく、あらかじめ使用する Gem を記述したテンプレートを用意し、それを使って新規にアプリケーションを作成する
テンプレートファイルの書き方
app_template.rb
# 常に追加する場合
gem 'devise'
# 常に追加するがグループを指定する場合
gem_group :development, :test do
gem 'rspec-rails'
gem "rails-erd"
end
# 追加するかどうか適宜判断する場合
if yes?('Does this app use nokogiri? (yes / no)')
gem 'nokogiri'
end
# bundle install を続けて行う場合
run_bundle
# 任意のコマンドを実行する場合
## 例) README.rdoc を README.md に変更
run "mv README.rdoc README.md"
# config.rb に rooting 追加
route "root to : 'welcome#index'"
テンプレートの使い方
# ファイルがローカルにある場合
$ rails new sample -m ~/app_template.rb
# ファイルが GitHub 上にある場合
rails new sample -m https://raw.github.com/[username]/[reponame]/master/app_template.rb