-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
28 lines (18 loc) · 1.07 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
=== Timed Scopes
Times Scopes is a simple plugin to add some named scopes to your model based on their time columns.
= Usage
class Post < ActiveRecord::Base
has_timed_scopes
end
= What It Does
Calling has_timed_scopes will reflect on the model's columns and add three scopes for each column ending in "_at" or "_on". For example, a model with a published_at column gets "published_after", "published_before", and "published_between".
Post.published_after(1.month.ago)
# => :conditions => ['posts.published_at > ?', 1.month.ago]
Post.published_before(1.year.ago)
# => :conditions => ['posts.published_at < ?', 1.year.ago]
Post.published_between(2.months.ago, 1.month.ago)
# => :conditions => ['posts.published_at > ? AND posts.published_at < ?', 2.months.ago, 1.month.ago]
By default, each timed scope will order the results on that column descending. You can ascend by passing "ASC" as an additional argument.
Post.published_before(1.year.ago, "ASC")
Or you can return the results unordered by passing false as an additional argument.
Post.published_before(1.year.ago, false)