19
3 月
09

Ruby on Railsはnamed_scopeでconditionsに命名できて便利すぎ。

calcsです。rails 2.0から導入されたらしいnamed_scopeは便利すぎる。

何かって言うとfind系のメソッドに渡す:conditionsパラメータを分割して、細切れになった条件節に命名できるというもの。
具体的な使い方は
[Rails]named_scopeすごすぎる
辺りを見てもらうとして。

何がうれしいって、RDBMSらしさがRoRでもっと発揮できるようになったってことです。RDBMSの根底にあるのは集合論。
AND条件は、各条件との積集合としてその結果を得ることができます。積とか和とかについては集合論か論理回路でも勉強してください。ま、とりあえずそういう集合論くささがO/Rマッパーでどーも脱臭されていたのですが、こいつは良い。

しかもチェインした条件もSQLの遅延評価によって無駄なく連結されて実行されるという。
というかこれがあったら
Ruby on Railsで高度なタグ管理を実現しよう(仮)
で書いたプラグイン化なんてほとんど要りませんな。ちょちょいと条件に命名してやれば話はほとんど終わっちまいます。

さぁnamed_scopeをつかって積集合を今すぐ作ろう!

補記:ただ一個不満なのはどーせだったら和差集合も上手い事扱えるようにしてほしかった。この辺を直感的に記述しようとすると演算子オーバーロードで条件節に対しての演算にメソッドオブジェクトを返すような設計にしないといかんのだろうか・・。いかん、C++で無駄設計していたブラックヒストリーがフラッシュバックする・・。良い方法知ってる人教えてください。

・・いやぁこのぶろぶもなんだか私信めいてきたなぁ。職権乱用かも。

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加




  1. No Comments

コメントください