フォーチュンサモナーズ
«前の日記(2005-10-11) 最新 次の日記(2005-10-14)» 編集

Don'tStopMusic

2003|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|02|03|04|05|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|08|

カテゴリ別 2003年 | 2004年 | 2005年 | 2006年 | 2007年 | 2008年

知り合いサイト: よんだもの / 暴想 / Linuxでやる夫 / 新宿Vipper / 僕だけが幸せになればいいのに。


2005-10-12

_ [Rails] Plugging into Rails このエントリーを含むブックマーク

追記: 詳細はここより、川o・-・)<2nd life - Plugging into Rails を読むと良いと思います。

Plugging into Rails によれば、拡張を簡単に追加するための仕組(plugin)が Edge Rails(latest SVN trunk なコード)に追加されたそう。

先方の記事の引き写しになるけれど簡単に説明すると、vendor/plugins ディレクトリに、

  • acts_as_chunky_bacon/
  • acts_as_chunky_bacon/init.rb
  • acts_as_chunky_bacon/lib
  • acts_as_chunky_bacon/lib/acts_as_chunky_bacon.rb

といった調子でファイルを配置すると、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

うーん、どういう作りなのかは実際に触ってみないとよくわからないですね。まあ、リリースに含まれるのを待ちます。

本日のツッコミ(全3件) [ツッコミを入れる]
_ なかだ (2005-10-13 10:06)

そのsendの使い方は1.9以降はdeprecatedになりましたので注意。

_ だて (2005-10-14 10:57)

追記しました。2.0 への移行は大変そうな予感です。

_ なかだ (2005-10-14 11:03)

fcallは確定ということのようです。

[]

最近のコメント:

  1. 通りすがり (10-24)
  2. なかだ (10-14)
  3. だて (10-14)

RSS
Creative Commons License
This work is licensed under a Creative Commons License
(note: text only. w/o web design, citations, (re)distributed softwares).