リリースしてからしばらく経ったので、dry-configurableを使用してみたどうだったかという話を書きます.
TL;DR
- YAMLを使った定数管理ができるGemでもERBが使えるならdry-configuableである必要はない
- 結論としては使いたいGemを使えばいい
dry-configurable
dry-configurableは、設定管理Gemの1つです.
メリット
- 動的に設定値を評価することができる
- 設定をコードとして管理できるため、内部に変数を定義することができる
正直なところ感想はこれぐらいしかありません.
可もなく不可もなくといった印象でした.
デメリット
- ロジックが書けてしまう
メリットにもなりうる点ですが、ロジックが書けるというのはデメリットにもなりえます.
設定値のレビューがされるかどうかといった開発体制の課題と、
最終的に評価された結果がどうなるのかをテストされているか?という2点でデメリットにもなりえそうだなという所感です.
結論
ここまで書いておいてなんですが、ぶっちゃけアプリの使用用途に合うGemであれば使いたいのを使うで良さそうです.
Redisなどから動的に値を取得するコードを書くこともできると思いますが、
そこまでするなら専用のクラスをアプリケーションに組み込んでしまってよいと思います.
敢えてdry-configurableを選択する理由はないように思えました.