SqaleやHerokuといったPaaSサービスを利用していると環境変数を.envというファイルに定義しておくと、アプリケーション側でそのファイルの内容を環境変数として解釈してくれますが、rack-envというGemを利用すると開発環境でも.envで記載した内容を環境変数として解釈できる様になります。
以下、Padrinoで利用する場合。まず、Gemfileにrack-env追加。
# Gemfile # Project requirements gem 'rake' gem 'rack-env', :group => "development"
で、app/app.rb に以下の1行を追加します。
module PadrinoSample class App < Padrino::Application use Rack::Env unless ENV['RACK_ENV'] == 'production' # 追加
これで本番環境と同様に開発環境上でも.envファイルを利用して環境変数を定義することができます。例えば、
HOGE=foo
と、.envファイルを定義しておけば、
get '/' do ENV['HOGE'] #=> foo end
これで、本番環境での動作を想定して開発環境で開発中からコード中で非公開にしたい情報をハードコーディングせずに済みます。
(Visited 51 times, 1 visits today)