Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bindanのススメ

Avatar for wtnabe wtnabe
August 16, 2025

 Bindanのススメ

"バックエンドを切り替えつつ設定を集約して書きたい" というタイトルのLTの資料です。

Kanazawa.rb meetup #156 at ビブリオバウム での発表です。

Avatar for wtnabe

wtnabe

August 16, 2025
Tweet

More Decks by wtnabe

Other Decks in Programming

Transcript

  1. やっぱこんな感じで書きたい App.configure do |config| config.database.dsn = "sqlite:memory" config.adapter = :grpc

    config.pool = 5 config.uploader.bucket = 'production' end この右辺でシュッとsecret 取り出したい
  2. 目指した書き味 Bindan.configure(providers: providers) do |c, pr| c.database_host = pr.env["DATABASE_HOST"] ||

    "localhost" c.api_key = pr.storage["api_key"] c.feature_flags = pr.firestore["feature_flags_document"] end
  3. もう少し詳しく configure から container と provider が渡ってくる provider が []

    メソッドを提供してくれるのでそこで値を取得する pr.env が envvar provider の正体
  4. おまけ - 命名について - 名前は最近よくやってる生成AI との議論で 今回はゲルマン祖語で bind みたいな意味 ラテン語だと

    vinculum さすがに分かりにくいので ラテン語以降の近い年代、近い地域の言語に置き換え