...表に出したくない情報ってありますよね。
API鍵とかクレジットカード情報とかパスワードとかポエムとか。
これらを環境変数を使って便利に扱うgemが"dotenv"です。
$ gem install dotenv
普通にやると
>> puts ENV['USER_NAME'] # => nil
と、まぁ普通に格納されていません。
ここでディレクトリ内に以下のような内容の".env"ファイルをつくります。
USER_NAME = 'Den2Taro' PASSWORD = 'Unique and Exciting Campus'
さて、これをdotenvを読み込むと....
>> require 'dotenv' >> Dotenv.load >> puts ENV['USER_NAME'] #=> Den2Taro >> puts %Q(#{ENV['PASSWORD']} == UEC) #=> Unique and Exciting Campus == UEC
てな感じで、.envの内容を環境変数として呼び出してくれます。
何が嬉しい?
おまけ...公式の認識
Should I commit my .env file?
It is recommended that you store development-only settings in your .env file, and commit it to your repository. Make sure that all your credentials for your development environment are different from your other deployments. This makes it easy for other developers to get started on your project, without compromising your credentials for other environments.
公式はむしろ、.envファイル自体は入れておく形式を推奨しているようです。
開発情報はそのまま、信用情報もプロジェクト専用のものをツッコんでおけ...と。
その方が手間がないですものね。
おまけ(2015/05/01追記)
他言語版のdotenvもあります。