ActiveRecordの設定をDRYにするDrySQLライブラリ

実践 Rails -強力なWebアプリケーションをすばやく構築するテクニック』にDrySQLというライブラリが紹介されていた。

DrySQLを使うと、スキーマ情報を元にテーブルのリレーションシップや検証ルールを自動的に設定してくれる。

たとえば、従来は次のように設定する必要があった。
(DrySQLのサイトの例より)

class Employee < ActiveRecord::Base
  set_table_name "EMP123"
  set_primary_key "EMP_REF_ID"
  belongs_to :department, :foreign_key=>'DEP_NAME'
  has_many :projects, :foreign_key=>'PROJECT_NAME'
  has_one :location
  has_many :whatevers, :through=>projects
  validates_length_of :NAME, :allow_nil=>true, :maximum=>20
  validates_numericality_of :EMP_REF_ID, :allow_nil=>false, only_integer=>true
end 

DrySQLを使うと、次のように簡略化できる。
残りの設定は、DrySQLが自動的に設定してくれるのだ。

class Employee < ActiveRecord::Base
  set_table_name "EMP123"
end

これで、テーブルの設計を変更したときに、ソースコードを修正する必要がなくなる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です