読者です 読者をやめる 読者になる 読者になる

アプリ固有設定ファイルのストレスを減らすconfigict

Unagi.gcでアプリケーション設定ファイルあるあるを話していた。
「こういうの作ってますね」「じゃあgemで」
ということで公開してみた。

詳しくはREADMEで。
authorNari/configict · GitHub

インストールはgemで。

$ gem install configict


アプリケーションの設定ファイルをYAMLで管理するときには

  1. 「config.yml.sample」みたいなの準備してそれをコミット
  2. 各開発者は.yml.sampleを.ymlにコピーして自分の環境に合わせた値に変える

といった感じになる。

コミットされれるのはconfig.yml.sampleだけなため
「なんか君のコミットでテスト動かなくなったんだけど」
「あ、.yml.sampleを更新したのでした。手元の.yml更新してください(てへ)」
という事態が発生しやすい。

configictを使うとそういうことはなくなる。
YAMLをロードするときに.yml.(sample|example)との差分をチェックし、差分があれば例外を上げるからだ。

名前は、configとconflictを掛けてみた。
chipの反省から検索しやすい名前にした。