dry-configurableを運用してみて

リリースしてからしばらく経ったので、dry-configurableを使用してみたどうだったかという話を書きます.

github.com

TL;DR

  • YAMLを使った定数管理ができるGemでもERBが使えるならdry-configuableである必要はない
  • 結論としては使いたいGemを使えばいい

dry-configurable

dry-configurableは、設定管理Gemの1つです.

メリット

  • 動的に設定値を評価することができる
  • 設定をコードとして管理できるため、内部に変数を定義することができる

正直なところ感想はこれぐらいしかありません.
可もなく不可もなくといった印象でした.

デメリット

  • ロジックが書けてしまう

メリットにもなりうる点ですが、ロジックが書けるというのはデメリットにもなりえます.
設定値のレビューがされるかどうかといった開発体制の課題と、
最終的に評価された結果がどうなるのかをテストされているか?という2点でデメリットにもなりえそうだなという所感です.

結論

ここまで書いておいてなんですが、ぶっちゃけアプリの使用用途に合うGemであれば使いたいのを使うで良さそうです.
Redisなどから動的に値を取得するコードを書くこともできると思いますが、
そこまでするなら専用のクラスをアプリケーションに組み込んでしまってよいと思います.

敢えてdry-configurableを選択する理由はないように思えました.