jm81-paginate 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +14 -0
- data/Rakefile +1 -1
- data/TODO +22 -1
- data/lib/helpers/merb.rb +1 -1
- data/spec/helpers/merb_spec.rb +8 -0
- metadata +2 -2
data/README.md
CHANGED
@@ -90,6 +90,20 @@ There are currently three modules.
|
|
90
90
|
- Paginate::DM - extended by a class that includes DataMapper::Resource
|
91
91
|
- Paginate::AR - extended by a class that inherits ActiveRecord::Base
|
92
92
|
|
93
|
+
For associated collections with DataMapper, you can use Paginator::ORM directly,
|
94
|
+
or (for example):
|
95
|
+
|
96
|
+
jobs = Person.first.jobs
|
97
|
+
jobs.extend(Paginate::DM)
|
98
|
+
jobs.paginate(:page => 1)
|
99
|
+
# or
|
100
|
+
DataMapper::Collection.__send__(:include, Paginate::DM) # perhaps in init.rb
|
101
|
+
jobs = Person.first.jobs.paginate(:page => 1)
|
102
|
+
|
103
|
+
Using the *DataMapper::Collection.\_\_send\_\_(:include, Paginate::DM)* option
|
104
|
+
makes the *#paginate* methods to all association collections. The first method
|
105
|
+
could be used for ActiveRecord.
|
106
|
+
|
93
107
|
##Paginator Classes
|
94
108
|
|
95
109
|
Paginator classes do the actual work of paginating and are called by the
|
data/Rakefile
CHANGED
data/TODO
CHANGED
@@ -1,2 +1,23 @@
|
|
1
1
|
TODO:
|
2
|
-
|
2
|
+
|
3
|
+
- Rails helpers:
|
4
|
+
Probably similar to Helpers::Merb. I just don't use Rails enough right now to
|
5
|
+
work through it.
|
6
|
+
|
7
|
+
- Check for dependencies:
|
8
|
+
When, for example, Paginate::DM is extended into a class, verify that dm-core
|
9
|
+
and dm-aggregates are loaded. This would give me more timely errors than
|
10
|
+
finding out when #paginate is first called.
|
11
|
+
|
12
|
+
- Generic ORM module:
|
13
|
+
If dependencies are checked for, this would allow a way to use Paginators::ORM
|
14
|
+
through a module without the dependency check.
|
15
|
+
|
16
|
+
- Includes for ORM collections:
|
17
|
+
For example:
|
18
|
+
|
19
|
+
DataMapper::Collection.__send__(:include, Paginate::DM)
|
20
|
+
|
21
|
+
What's the best way to do this?
|
22
|
+
Something similar for AR?
|
23
|
+
Maybe Paginate::auto_includes which would include such as the above
|
data/lib/helpers/merb.rb
CHANGED
@@ -75,7 +75,7 @@ module Paginate
|
|
75
75
|
# in the query string to be used in the page link.
|
76
76
|
def page_url(page, path = request.path, q = request.query_string)
|
77
77
|
# Remove any current reference to page in the query string
|
78
|
-
q.to_s.gsub!(/page=(\d+)(&?)/, '')
|
78
|
+
q.to_s.gsub!(/page=(-?[\d]+)(&?)/, '')
|
79
79
|
# Assemble new link
|
80
80
|
link = "#{path}?page=#{page}&#{q}"
|
81
81
|
link = link[0..-2] if link[-1..-1] == '&' # Strip trailing ampersand
|
data/spec/helpers/merb_spec.rb
CHANGED
@@ -53,5 +53,13 @@ describe Paginate::Helpers::Merb do
|
|
53
53
|
@object.page_url(5, 'path', 'limit=10&something=text&page=10').should ==
|
54
54
|
'path?page=5&limit=10&something=text'
|
55
55
|
end
|
56
|
+
|
57
|
+
it 'should remove existing negative page option' do
|
58
|
+
@object.page_url(5, 'path', 'limit=10&page=-10&something=text').should ==
|
59
|
+
'path?page=5&limit=10&something=text'
|
60
|
+
|
61
|
+
@object.page_url(5, 'path', 'page=-5&limit=10&something=text').should ==
|
62
|
+
'path?page=5&limit=10&something=text'
|
63
|
+
end
|
56
64
|
end
|
57
65
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jm81-paginate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jared Morgan
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-06-
|
12
|
+
date: 2009-06-23 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|