ARのwhere区を簡単に扱えるようになる「Ez-Where2」に触れてみた

Tsukasa OISHI

RailsActiveRecordで、Where区が複雑になるのはよくあることです。特に検索機能などで、指定された条件によってwhere区を用意するときはコードが汚くなりがちです。
そんなときに使えるのが「Ez-Where2」。超簡単にwhere区が構築できちゃいます。

インストール。

./script/plugin install http://opensvn.csie.org/ezra/rails/ez_where_two/

使い方。

cond = Caboose::EZ::Condition.new
cond += cc(:users) {name == params[:user_name]}
cond += cc(:mobile) {signature == params[:mobile_id]}

ccというメソッドがwhere区を構築する。このわかりにくいメソッド名だけはいただけないけど。includeやjoinを使っていてテーブル名の指定が必要なときは最初にそのテーブル名をシンボルで指定してあげて、続くブロックでwhere区の条件を書く。+ でつなげればAND条件になり、| でつなげればORになります。詳しくはREADMEを参照。他にもいろいろ便利そうなメソッドが用意されています。