カテゴリ別 2003年 | 2004年 | 2005年 | 2006年 | 2007年 | 2008年
知り合いサイト: よんだもの / 暴想 / Linuxでやる夫 / 新宿Vipper / 僕だけが幸せになればいいのに。
追記: 詳細はここより、川o・-・)<2nd life - Plugging into Rails を読むと良いと思います。
Plugging into Rails によれば、拡張を簡単に追加するための仕組(plugin)が Edge Rails(latest SVN trunk なコード)に追加されたそう。
先方の記事の引き写しになるけれど簡単に説明すると、vendor/plugins ディレクトリに、
といった調子でファイルを配置すると、lib がロードパスに追加され、init.rb が自動的にロードされる。init.rb には、
ActiveRecord::Base.send :include, ActsAsChunkyBacon
と書いておくと準備完了。model クラスで、acts_as_chunky_bacon が使えるようになる、とのこと。
追記: ruby1.9 系(つまりおそらく将来の 2.0 系でも)では send, __send__ で private メソッド を呼び出せなくなっています(なかださんいつもありがとうございます)。代わりに instance_eval を使います。
ActiveRecord::Base.instance_eval "include ActsAsChunkyBacon"
参考
↓のように言っていますので、これは別に acts_as 系の拡張に限った話ではないみたいです。
We are using it for things like email notification on errors, or common before_filter’s
うーん、どういう作りなのかは実際に触ってみないとよくわからないですね。まあ、リリースに含まれるのを待ちます。
最近のコメント:
RSS
![]()
This work is licensed under a
Creative Commons License
(note: text only. w/o web design, citations, (re)distributed softwares).
そのsendの使い方は1.9以降はdeprecatedになりましたので注意。
追記しました。2.0 への移行は大変そうな予感です。
fcallは確定ということのようです。