Squeelをためしてみたら、かなりうれしかった。
さて、2週間前の日付以降のArtcle全部を検索するクエリー
以下の2つ、どちらがよみやすいか?
(ちなみに2.weeks.agoは、今日から数えて2週間前の日付を返すrubyのネイティブメソッドです)
Rails3の通常の記述によると
Article.where ['created_at >= ?', 2.weeks.ago]
...Squeeで書くと以下の通り
Article.where{created_at >= 2.weeks.ago}
私には、Squeelが肌にあいます。ちょっとした違いなんですけどね。
ちなみに、これをnamed_scope定義して
app/model/artcle.rb にて
def self.written_since(date)
Article.scoped.where{created_at >= date}
end
すると
Article.written_since(2.weeks.ago)
って書けて、より直感的?
参考URL
#354 Squeel - RailsCasts