Global変数を管理するGem 'global'
業務で使ってるGem「global」がかなり便利だったのでメモしておく。
https://github.com/railsware/global
導入手順
1.Gemfileに追加
gem 'global'
2.initiallizersに追加
config/initializers/global.rb
Global.configure do |config|
config.environment = Rails.env.to_s
config.config_directory = Rails.root.join('config/global').to_s
end
ここまでやれば、config/global/xxxx.yml
にファイルを置くと設定値を読んでくれる
# yamlファイルの例
default:
error-email: myname@example.com
production:
error-email: error@example.com
変数へのアクセス方法
Global.error-email # 環境によって適切な方にアクセス
さらに
階層を深くするには、単にyamlの階層を深くするか
config/global/xxxx/yyyy.yml
のようにファイルパスを深くすれば期待通りに動いてくれる。
便利!