作成したばかりのRailsアプリケーションをherokuにpushすると
###### WARNING:
remote: No Procfile detected, using the default web server (webrick)
remote: https://devcenter.heroku.com/articles/ruby-default-web-server
と出ていてProcfile
がないと警告がでてしまう。
なんとなく警告が出ていると嫌だし、毎回作成するのも面倒なのでrails new
した時にProcfile
を自動生成することにした。
これはRails Application Templateを利用すると目的が達成できます。
まずは~/.rails_app_template.rb
を作成する。ファイル名は本当はなんでも良い。中身は以下のようにする。
create_file 'Procfile', 'web: bundle exec rails server -p $PORT'
あとはプロジェクトを作成する際には以下のコマンドを実行する。
rails new -m ~/.rails_app_template.rb プロジェクト名
-m
を指定するのがめんどくさい場合は~/.railsrc
ファイルを記述しておくとよい。こちらのファイル名は.railsrc
にしないといけない。
rails new -m ~/.rails_app_template.rb プロジェクト名
この.railsrc
を無効にしたい場合は
rails new --no-rc プロジェクト名
とすればよい。
もっと詳しく
より詳細は下記の記事を参考にすると良いです。
Application TemplateやGeneratorでファイルを作るにはThor::Actions#create_file
メソッドが利用できます。
Thorはコマンドラインツールを作成支援ライブラリで、Rails GeneratorやRails ApplicationはThorを拡張して作成されています。
create_file
のような命令の一覧は下記に記載されています。
- Creating and Customizing Rails Generators & Templates — Ruby on Rails Guides
- http://rdoc.info/github/wycats/thor/master/Thor/Actions