@Konboi memo

主に技術に関してつらつらと。

rails application template マジ便利 !!

はじめに

新規でプロジェクトを始めるときに、

  • あー この設定またかいてるわー
  • このgem良く使うからもはやデフォルトで入れてほしいわー
  • あ、まだ rspec に変えてなかった

なんてことはないでしょうか?

自分の場合はクライアントワークで、キャンペーン系の開発が多く

rails new #{project name} -d mysql 

を打つたびに思います…

それを開発してくれるのがrails application template です。

rails application template とは?

公式サイト に詳しくかかれていますが、簡単に言うと

最初に新規プロジェクト作るときに

  • 指定した gemをGemfileに書いてくれる
  • 指定したコマンドを実行してくる

どうやって使うの?


使いかたは簡単で rails new する際に -m オプションでファイルを指定するだけです。

こんな感じです。

rails new sample-application m ./applicaiton-template 

URLで指定することもできます。

rails new sample-application m https://raw.github.com/Konboi/rails-template/master/application_template.rb

どうやって書くの?

rails application template の書き方をさらっと紹介しておきます。

templateファイルはrubyを使って書くことができます。

gem_group

gem_group :development do
  gem "rspec-rails"
  gem "rails-erd"
end

gem_group :test do
  gem 'simplecov', :require => false
  gem 'simplecov-rcov', :require => false
end

gem_group で指定すると Gemfile でその group で 囲ってくれます。

if yes?

if yes?("nokogiri いれちゃう?")
  gem ‘nokogiri’
end

こうすることで対話式で実行するか、どうかを設定できます。 サンプルでは nokogiri という gem を入れるかどうかを設定できます。

run

run "cp config/database.yml config/database.yml.sample"

run では 指定したコマンドを実行させることができます。

以上の様なメソッドが用意されているので、それを組み合わせて自分好みのtemplateを作っちゃいましょう。

ここでは紹介していないものあります。

公式サイト もしくは rails application templateググるってもgithub上で先人たちのコーが結構見つかるので参考にしてみましょう!

ちなみに こちらを参考にしていただいてもいいです!

Konboi/rails-template (ステマ)

rails application template を使ってより良いRailsライフを!!