ratio - rational - irrational

« 予約語考: 或るRuby厨の意見 | Main | LL Ringチケット買った »

2006年06月23日

Re: ActiveRecord を SQLObject っぽく

ActiveRecord を SQLObject っぽくを読んだ。言ってたね。くまくまの人が。svn headにはこの機能入ってるの?

入ってないとしても、くまくまの人が既に書いてそうだけど、面白そうなので自前で書いてみた。5分じゃ無理だった。10分掛かった。

ActiveRecord::Base.class_eval do
  class << self
    def inherited_with_sqlobjish(subclass)
      inherited_without_sqlobjish(subclass)
      Kernel.class_eval do
        define_method(subclass.name) {|*args|
          subclass.find(*args)
        }
      end
    end
    alias_method :inherited_without_sqlobjish, :inherited
    alias_method :inherited, :inherited_with_sqlobjish
  end
end

Modelクラス群が定義される前に書かないといけない。config/environment.rbがboot.rbをrequireしたあとぐらいに書いたらちょうど良かった。



トラックバック

この記事のトラックバックpingのURL:
http://idm.s9.xrea.com/blog/mt-tb.cgi/469

コメント

新しくコメントをつける

よくわからない理由により、コメントが即座には反映されないかもしれませんか゛、ボタンを押して元の画面に戻ってきたならたぶん正しく送信されています。




blog操作

検索


カテゴリー

このブログについて

あわせて読みたい

follow yugui at http://twitter.com
© 2006 Yugui

Powered by Movable Type 3.2-ja-2