forked from alexkwolfe/paginating_find
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
123 lines (97 loc) · 6.16 KB
/
CHANGELOG
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
2008-02-26
* Fixed page out-of-range bug, and another small bug when only one page exists, in paginating_links_helper. Thanks to Pawel Stradomski.
2008-02-08
* Count query now uses the :from find option, if specified. Thanks to Rich Wertz.
2007-11-13
* Removed extraneous statement from collect_count_options. Thanks to Wolfgang Postler.
2007-9-14
* Count query now respects the distinct keyword if it is included in the :select option. Thanks to Luke Pearce.
2007-8-25
* PagingEnumerator#each now returns self. Thanks to Takeru Sasaki.
* Addeed #to_xml to the PagingEnumerator.
2007-8-24
* No longer overwrite the AR #validate_find_options method. Instead just append :page to VALID_FIND_OPTIONS. Thanks for the suggestion Pratik.
2007-7-24
* Fixed a bug in handling the HAVING having clause. Thanks to Daniel Aborg for the patch!
* Added support for Array#extract_options! added to Rails edge (9087). Thanks to Alex Payne!
* Tests no longer use with_scope since it became protected in Rails edge.
2007-5-7
* Now uses alias_method_chain. Thanks to Jeremy Larkin for the patch.
2007-4-27
* PagingEnumerator now supports Marshal.dump and Marshal.load. When marshaled, the enumerator loses its callback, so :auto => true is not supported in this scenario.
2007-02-05
* :current < 1 is now gracefully handled. Thanks again to Benjamin Curtis and 21st Century Music.
2007-01-24
* Added paging_helper that provides paginating_links and paginating_links_each to ActionView::Base. Special thanks to Benjamin Curtis and 21st Century Music (https://21cmusic.com/)!
2007-01-07
* :first now defaults to 1 rather than the value of :page. Thanks to Jack Baty for bringing this to my attention.
2006-12-28
* primary_key used to build count select statement rather than "id" column. Thanks to Rich Cox.
2006-12-21
* Applied another fix to counting with :group option. Special thanks to Ben Weiner.
* Placed tests for grouping in a separate class.
2006-12-12
* Removed rails from vendor directory.
2006-11-27
* For purposes of counting, the HAVING statement is now extracted from the :group option as a convenience for users that are hacking around the lack of a AR#find :having option. Thanks to Gavin Joyce for pointing out this usage of :group. More info here: https://www.mail-archive.com/[email protected]/msg01876.html.
* For purposes of counting, the :select option is now ignored in favor of table_name.id. Thanks to Aron Atkins for reporting a bug that led to this fix.
2006-10-17
* Count query no longer uses :limit. This option doesn't have the same effect on count as it does on find. The :limit is applied to the count after the query is performed, if necessary.
* Count query no longer uses :group. Grouping during a count doesn't get any different count than not grouping.
* Count query no longer uses :order for the same reasons that :group is no longer used.
2006-09-26
* Change log is now in reverse chronological order
* Count query now respects :group and :order. Previous changes removing this functionality are no longer applicable.
2006-09-19
* Added :count option. Using this will cause the plugin to skip the automatic database count query (which can sometimes be slow).
* The :limit option no longer affects whether the count query will run.
* Fixed a bug reported by Lisa, where the count query was choking on grouped results. The count query now ignores :group.
2006-09-14
* Scoping now works correctly, even when enumeration is done outside the #with_scope code block.
* Added the #empty? method.
* Added #first_item and #last_item, which return the index of the first and last items on the current page. Thanks, Ilya!
2006-09-10
* Now works correctly :with_scope, nested :with_scope, and :include.
* Now correctly counts when querying on through associations.
* Rewrote paginating_find_test so that it uses real AR::Base models, rather than mocks.
* Trying out a bare-bones instance of rails in order to run tests without having to install the plugin.
2006-09-10
* next_page? and previous_page? now return booleans rather than the page number. Thanks, Hammed.
* next_page and previous_page have been added.
* The total count now correctly respects conditions, includes, etc. Thanks, Ilya
2006-09-09
* ArgumentError is now correctly thrown if options[:offset] is used. Thanks, jonni!
2006-09-08
* :conditions are now correctly respected when paging is enabled
* :size now defaults to total number of records if less than ten.
2006-09-06
* Added #last_page! method. Only works when :auto => true.
* Added #first_page! method. Only works when :auto => true.
* Added the #move!(page) method. Only works when :auto => true.
* Added the #previous_page!(page) method. Only works when :auto => true.
* Added the #page_exists?(page) method.
* The #load_page method is no longer protected.
* Fixed bug in #to_a that was causing :limit to be exceeded.
* An ArgumentError is now raised if both :page and :offset options are specified
* The first page and current page can be specified separately, using the :first and :current options respectively.
* Reversed semantics of automatic pagination. By default, the enumerator will stop after all records on current page. To enumerate all records, pass option :auto => true.
* :manual_paging is no longer supported. Use the :auto option instead. :auto defaults to false.
* All paging options are now specified in a hash, keyed by :page. This is mostly an aesthetics issue:
# The old way:
cogs = Cog.find(:all,
:limit => 3000,
:page_size => 10,
:page => 1,
:manual_paging => true)
# The new way:
cogs = Cog.find(:all,
:limit => 3000,
:page => {:size => 10,
:current => 1})
* The following :page options are supported in this revision:
:size => Number of records in each page of results. Defaults to 1/10
the total size if total size > 10, otherwise defaults to
the total size.
:current => The current page. Optional, defaults to the first page: 1.
:first => The first page. Optional, defaults to the current page.
:auto => Automatically load the next page during invocation of #each. Defaults to false.