O'Reilly logo

Rails 4 Test Prescriptions by Noel Rappin

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Testing ActiveRecord Finders

ActiveRecord provides a rich set of methods that are wrappers around SQL statements sent to your database. These methods are collectively referred to as finders. One great feature of ActiveRecord finders is that they can be composed, allowing you to express a compound statement like “bring me the most recently completed five large tasks” as Task.where(status: completed).order("completed_at DESC").where("size > 3").limit(5).

You can even compose the finders if you extract them to their own methods in pieces:

 
class​ Task < ActiveRecord::Base
 
 
def​ self.completed
 
where(status: :completed)
 
end
 
 
def​ self.large
 
where(​"size > 3"​)
 
end
 
 
def​ self.most_recent
 
order(​"completed_at DESC"​)
 
​ ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required