Rails

Rails Application Templates を導入する

More than 1 year has passed since last update.

Rails Application Templates とは

RailsGuides

  • 新たに 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