🌟

【Rails】Config Gem で細かい環境ごとに設定を変更できるようになっていた

2024/04/11に公開

Rails Config Gem とは

環境固有の定数を管理するための便利なgemです。
https://github.com/rubyconfig/config

本題から逸れるので導入などは他の記事を参照いただけると幸いです。

本題

下記のように設定するだけで、開発/ステージング/本番/テスト/ローカル それぞれの環境で別のSettingsを参照することができます。

今までも initializer に数行書けば同じようなことが実現できましたが、その必要がなくなりました。

config/initializers/config.rb
config.environment = ENV.fetch('ENVIRONMENT', :development)

設定ファイルは下記のように config/settings/hogehogeENVIRONMENT に合わせたファイル名にして、各環境の定数を記述していくだけです

config/settings
├── staging.yml
├── local.yml
├── production.yml
└── test.yml

変更PR: https://github.com/rubyconfig/config/pull/356
リリースバージョン: 5.4.0

どんな時に嬉しいの

ステージング環境と本番環境を Rails.env = production で運用しているが、それぞれの環境で別のAPIを呼びたい時にわざわざ AWS Parameter Store などを使わずに、コードベースで環境変数を管理できる

終わりに

便利なのでみなさんもぜひ使ってみてください

GitHubで編集を提案

Discussion