Railsで定数管理をするとき皆さんはどうされてますか?
私は最近eash_settingsというgemを使っています。
config/settings.ymlを作成して、そこに設定したい定数、管理値を記述していくだけです。
log_level: info other_service: endpoint: https://myapp/api/v1 apikey: API_KEY_XXX secret: SECRET_KEY_XXX demo_users: <% 5.times do |i| %> - <%= "user%02d" % [i] %> <% end %>
erbも書けます。
呼び出しは至って簡単。
EasySettings.other_service #=> {"endpoint"=>"https://myapp/api/v1", "apikey"=>"API_KEY_XXX", "secret"=>"SECRET_KEY_XXX"} EasySettings.other_service.endpoint #=> "https://myapp/api/v1" EasySettings.other_service["endpoint"] #=> "https://myapp/api/v1" EasySettings.other_service[:endpoint] #=> "https://myapp/api/v1"
environmentごとに設定値を設定することもできます。
defaults: &defaults app_name: NamespaceSample development: &development <<: *defaults endpoint: http://backend-dev/api/v1 test: <<: *development production: <<: *defaults endpoint: http://backend/api/v1
導入も簡単ですし、便利ですのでRailsの定数管理に使ってみて下さい。
コメントを残す