jasagiri @ ウィキ
Sequel
最終更新:
jasagiri
-
view
■チートシート: http://d.hatena.ne.jp/yshgt/20080629/1214720897
http://merblog.tt25.org/2008-12-14/merb-and-sequel-by-yellowpages-dot-com
■SingleTableInheritance(単一テーブル継承):
http://markmail.org/message/bgy3uinkrlz2er2f
ActiveRecordのSTIは Sequelではポリモーフィックモデルと呼んでいる。 set_model を使ってカラム名 type でハッシュマップの値をclass に与えてデータセットを作る:
dataset.set_model(:type, {1 => Person, 2 => Company})
class Addressable < Sequel::Model(:addresses) dataset.set_row_filter {|v| eval(v[:type]).new(v)} end
class Person < Addressable end
class Company < Addressable end
これは、マクロでも出来る。
class Sequel::Model def self.set_polymorphic(type_column = :type) dataset.set_row_filter {|v| eval(v[type_column]).new(v)} end end