AR の conditional chain (がねーよという話)

AR on Rails3 の scope & chain はとてもステキなのだけど、scope で抽象化して chain やってると直ぐに条件付き連鎖が書きたくなる。

こんな感じ

Song.list.recently.send( cond ? 'played' : 'callee' ).page….(以後、延々と続く)

調べてもわからん。ぐぐってもわからん("conditional chain" "active record" で0件)。

可能性としては

  1. 条件付き chain 自体が用意されていない、他の方法を取るのがスタンダード
  2. 自分が知らないだけ
  3. rails way な別のやり方がある

のどれか、か。

メソッドと条件式のリストを作って inject しようと思ったものの読みづらくなる&その仕組み自体をメソッドに出来そうなので自分が知らないだけか、、等々悶々としておりまつ、、