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 12 times, 1 visits today)