Rails っぽいコンフィグ

前回 MySQLRuby から操作出来るようにしたので、今回は Rails のように開発版と本番の切り替えを簡単に行えるようにしました。
とは言え、サーバの動作時に切り替えるようなものではなく、スクリプトが動作するときに指定した設定で読むだけのものです。

db.yml

:usetype: :developement

:developement:
  :database: db
  :host: host
  :user: user
  :pass: pass

:production:
  :database: db
  :host: host
  :user: user
  :pass: pass

上記の設定ファイルを読みこんで、MySQL の設定を抜き出すようにしています。

require 'mysql'
class SQL
  def initialize
    @list = YAML.load(File.read("db.yml"))
  end

  def type
    @list[@list[:usetype]]
  end
end

sql = SQL.new.type

これで、

db = Mysql::new(sql[:host], sql[:user], sql[:pass], sql[:database])

とすれば、db.yml の :usetype で指定した設定が引き出せます。

結構簡単に切り替えが出来るんですね。データベースの操作についてはまだ触り始めで勉強中なので今回はここまでにしておきます。