Ruby on Railsで開発している際に設定ファイルを利用することがある。その場合に利用されるのがYAML形式での保存だ。これは汎用的なフォーマットで、XMLに比べると分かりやすい表記で使い勝手は良いのだが、読み込んだ後の利用がHashや配列になっているのがあまり好きではなかった。

Picture 151.png

一例

 

だが設定のために一つクラスを用意する、というのも面倒だ。簡単に項目を追加したり変更したりできる、柔軟なクラスを必要としているならこれを使おう。

今回紹介するオープンソース・ソフトウェアはConfigatron、設定用のクラスライブラリだ。

Configatronを使えばまさに前述のようなニーズが満たされる。config.email = “hogehoge"のように設定、取得ができる。コードのサンプルとしては以下のようになる。

configatron do |config| config.email = "mark@mackframework.com" config.database_url = "postgres://localhost/mack_framework_rocks" # etc...endconfigatron.email # => "mark@mackframework.com"configatron.database_url # => "postgres://localhost/mack_framework_rocks"

もちろん書き換えもできる。また、ネームスペースをサポートしており、configからさらに派生させてconfig.email.addressのように深く掘り下げることもできる。これは非常に柔軟に設定ができるので、ただ値を保存して後で使いたいといった場合に便利だ。

また、Railsに特化して作られている訳ではないので、Rubyで作ったスクリプトに自由に利用できるのも利点だ。柔軟に使えてクラスのように活用できる設定ファイルライブラリを使って、より柔軟に便利な開発を行って欲しい。

 

Configatron 1.0.0 Released! — Mack Framework

 http://www.mackframework.com/2008/08/29/configatron-100-released/