February 2018
Intermediate to advanced
406 pages
9h 52m
English
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") |
| |