rails_paginate 0.0.1 → 0.0.2
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/Gemfile +7 -2
- data/Gemfile.lock +1 -0
- data/README.rdoc +6 -1
- data/Rakefile +0 -4
- data/VERSION +1 -1
- data/lib/rails_paginate.rb +1 -1
- data/lib/rails_paginate/collection.rb +5 -3
- data/lib/rails_paginate/method/base.rb +0 -1
- data/lib/rails_paginate/renderer/base.rb +0 -1
- data/rails_paginate.gemspec +8 -8
- data/spec/rails_paginate_spec.rb +52 -2
- data/spec/spec_helper.rb +5 -2
- data/spec/support/10_activerecord.rb +1 -1
- metadata +10 -10
data/Gemfile
CHANGED
@@ -2,11 +2,16 @@ source "http://rubygems.org"
|
|
2
2
|
gem "rails", "~> 3.0.0"
|
3
3
|
|
4
4
|
group :development do
|
5
|
-
gem "sqlite3"
|
6
5
|
gem "autotest"
|
7
6
|
gem "bundler"
|
8
7
|
gem "jeweler"
|
9
|
-
gem 'simplecov', :require => false
|
10
8
|
gem "rspec"
|
11
9
|
gem "yard"
|
10
|
+
if defined? JRUBY_VERSION
|
11
|
+
gem "activerecord-jdbc-adapter"
|
12
|
+
gem "activerecord-jdbcsqlite3-adapter"
|
13
|
+
else
|
14
|
+
gem 'simplecov', :require => false
|
15
|
+
gem "sqlite3"
|
16
|
+
end
|
12
17
|
end
|
data/Gemfile.lock
CHANGED
data/README.rdoc
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
= rails_paginate
|
2
2
|
|
3
3
|
a new rails 3 paginate plugin as will_paginate replacement
|
4
|
-
better as will_paginate
|
5
4
|
|
6
5
|
== Development status
|
7
6
|
|
@@ -31,6 +30,12 @@ If you want to use it as plugin
|
|
31
30
|
|
32
31
|
(1..555).to_a.paginate :page => 1, :per_page => 10
|
33
32
|
|
33
|
+
== Test environments
|
34
|
+
|
35
|
+
* ruby-1.9.2
|
36
|
+
* ruby-1.8.7
|
37
|
+
* ree-1.8.7
|
38
|
+
* jruby-1.5.6
|
34
39
|
|
35
40
|
== Maintainers
|
36
41
|
|
data/Rakefile
CHANGED
@@ -19,10 +19,6 @@ Jeweler::Tasks.new do |gem|
|
|
19
19
|
gem.description = %Q{a new rails 3 paginate plugin as will_paginate replacement}
|
20
20
|
gem.email = "develop@marco-scholl.de"
|
21
21
|
gem.authors = ["Marco Scholl"]
|
22
|
-
# Include your dependencies below. Runtime dependencies are required when using your gem,
|
23
|
-
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
|
24
|
-
# gem.add_runtime_dependency 'jabber4r', '> 0.1'
|
25
|
-
# gem.add_development_dependency 'rspec', '> 1.2.3'
|
26
22
|
end
|
27
23
|
Jeweler::RubygemsDotOrgTasks.new
|
28
24
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/lib/rails_paginate.rb
CHANGED
@@ -17,7 +17,6 @@ module RailsPaginate
|
|
17
17
|
mattr_accessor :method
|
18
18
|
@@method = :sliding
|
19
19
|
|
20
|
-
|
21
20
|
class << self
|
22
21
|
# to configure rails_paginate
|
23
22
|
# for a sample look the readme.rdoc file
|
@@ -43,6 +42,7 @@ module RailsPaginate
|
|
43
42
|
end
|
44
43
|
end
|
45
44
|
|
45
|
+
# init rails paginate
|
46
46
|
def init
|
47
47
|
require 'rails_paginate/core_ext/active_record'
|
48
48
|
require 'rails_paginate/core_ext/array'
|
@@ -37,10 +37,12 @@ module RailsPaginate
|
|
37
37
|
# load result from input array_or_relation to internal array
|
38
38
|
def load_result
|
39
39
|
if array_or_relation.is_a? Array
|
40
|
-
|
40
|
+
result = array_or_relation[offset..(offset + per_page - 1)]
|
41
41
|
else
|
42
|
-
|
42
|
+
result = array_or_relation.limit(per_page).offset(offset).all
|
43
43
|
end
|
44
|
+
|
45
|
+
self.replace result.nil? ? [] : result
|
44
46
|
end
|
45
47
|
|
46
48
|
def total
|
@@ -48,7 +50,7 @@ module RailsPaginate
|
|
48
50
|
end
|
49
51
|
|
50
52
|
def pages
|
51
|
-
@pages ||= (total / per_page.to_f).ceil
|
53
|
+
@pages ||= total == 0 ? 1 : (total / per_page.to_f).ceil
|
52
54
|
end
|
53
55
|
|
54
56
|
# get offset
|
data/rails_paginate.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rails_paginate}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Marco Scholl"]
|
12
|
-
s.date = %q{2011-02-
|
12
|
+
s.date = %q{2011-02-16}
|
13
13
|
s.description = %q{a new rails 3 paginate plugin as will_paginate replacement}
|
14
14
|
s.email = %q{develop@marco-scholl.de}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -64,32 +64,32 @@ Gem::Specification.new do |s|
|
|
64
64
|
|
65
65
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
66
66
|
s.add_runtime_dependency(%q<rails>, ["~> 3.0.0"])
|
67
|
-
s.add_development_dependency(%q<sqlite3>, [">= 0"])
|
68
67
|
s.add_development_dependency(%q<autotest>, [">= 0"])
|
69
68
|
s.add_development_dependency(%q<bundler>, [">= 0"])
|
70
69
|
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
71
|
-
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
72
70
|
s.add_development_dependency(%q<rspec>, [">= 0"])
|
73
71
|
s.add_development_dependency(%q<yard>, [">= 0"])
|
72
|
+
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
73
|
+
s.add_development_dependency(%q<sqlite3>, [">= 0"])
|
74
74
|
else
|
75
75
|
s.add_dependency(%q<rails>, ["~> 3.0.0"])
|
76
|
-
s.add_dependency(%q<sqlite3>, [">= 0"])
|
77
76
|
s.add_dependency(%q<autotest>, [">= 0"])
|
78
77
|
s.add_dependency(%q<bundler>, [">= 0"])
|
79
78
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
80
|
-
s.add_dependency(%q<simplecov>, [">= 0"])
|
81
79
|
s.add_dependency(%q<rspec>, [">= 0"])
|
82
80
|
s.add_dependency(%q<yard>, [">= 0"])
|
81
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
82
|
+
s.add_dependency(%q<sqlite3>, [">= 0"])
|
83
83
|
end
|
84
84
|
else
|
85
85
|
s.add_dependency(%q<rails>, ["~> 3.0.0"])
|
86
|
-
s.add_dependency(%q<sqlite3>, [">= 0"])
|
87
86
|
s.add_dependency(%q<autotest>, [">= 0"])
|
88
87
|
s.add_dependency(%q<bundler>, [">= 0"])
|
89
88
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
90
|
-
s.add_dependency(%q<simplecov>, [">= 0"])
|
91
89
|
s.add_dependency(%q<rspec>, [">= 0"])
|
92
90
|
s.add_dependency(%q<yard>, [">= 0"])
|
91
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
92
|
+
s.add_dependency(%q<sqlite3>, [">= 0"])
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
data/spec/rails_paginate_spec.rb
CHANGED
@@ -55,10 +55,26 @@ describe RailsPaginate::Collection do
|
|
55
55
|
it { should be_a RailsPaginate::Collection }
|
56
56
|
end
|
57
57
|
|
58
|
+
context "without any result" do
|
59
|
+
before(:all) { @collection = Item.where(:dummy => "dasfindeterbestimmtnicht").paginate :page => 1 }
|
60
|
+
subject { @collection }
|
61
|
+
its(:count) { should eq 0 }
|
62
|
+
its(:current_page) { should eq 1 }
|
63
|
+
its(:pages) { should eq 1 }
|
64
|
+
its(:total) { should eq 0 }
|
65
|
+
its(:offset) { should eq 0 }
|
66
|
+
its(:next_page) { should be_nil }
|
67
|
+
its(:previous_page) { should be_nil }
|
68
|
+
its(:need_paginate?) { should be_false }
|
69
|
+
its(:first_page?) { should be_true }
|
70
|
+
its(:last_page?) { should be_true }
|
71
|
+
end
|
72
|
+
|
58
73
|
context "without per_page on first page" do
|
59
74
|
before(:all) { @collection = Item.paginate :page => 1 }
|
60
75
|
subject { @collection }
|
61
76
|
its(:count) { should eq 10 }
|
77
|
+
its(:current_page) { should eq 1 }
|
62
78
|
its(:pages) { should eq 57 }
|
63
79
|
its(:total) { should eq 561 }
|
64
80
|
its(:offset) { should eq 0 }
|
@@ -73,6 +89,7 @@ describe RailsPaginate::Collection do
|
|
73
89
|
before(:all) { @collection = Item.paginate :page => 10 }
|
74
90
|
subject { @collection }
|
75
91
|
its(:count) { should eq 10 }
|
92
|
+
its(:current_page) { should eq 10 }
|
76
93
|
its(:pages) { should eq 57 }
|
77
94
|
its(:total) { should eq 561 }
|
78
95
|
its(:offset) { should eq 90 }
|
@@ -87,6 +104,7 @@ describe RailsPaginate::Collection do
|
|
87
104
|
before(:all) { @collection = Item.paginate :page => 57 }
|
88
105
|
subject { @collection }
|
89
106
|
its(:count) { should eq 1 }
|
107
|
+
its(:current_page) { should eq 57 }
|
90
108
|
its(:pages) { should eq 57 }
|
91
109
|
its(:total) { should eq 561 }
|
92
110
|
its(:offset) { should eq 560 }
|
@@ -97,10 +115,11 @@ describe RailsPaginate::Collection do
|
|
97
115
|
its(:last_page?) { should be_true }
|
98
116
|
end
|
99
117
|
|
100
|
-
context "with per_page 60 on page
|
118
|
+
context "with per_page 60 on page 3" do
|
101
119
|
before(:all) { @collection = Item.paginate :page => 3, :per_page => 60 }
|
102
120
|
subject { @collection }
|
103
121
|
its(:count) { should eq 60 }
|
122
|
+
its(:current_page) { should eq 3 }
|
104
123
|
its(:pages) { should eq 10 }
|
105
124
|
its(:total) { should eq 561 }
|
106
125
|
its(:offset) { should eq 120 }
|
@@ -113,6 +132,32 @@ describe RailsPaginate::Collection do
|
|
113
132
|
|
114
133
|
end
|
115
134
|
|
135
|
+
describe Array, "with 0 items" do
|
136
|
+
before(:all) { @array = [] }
|
137
|
+
subject { @array }
|
138
|
+
specify { should respond_to :paginate }
|
139
|
+
|
140
|
+
describe "return of #paginate" do
|
141
|
+
subject { @array.paginate }
|
142
|
+
it { should be_a RailsPaginate::Collection }
|
143
|
+
end
|
144
|
+
|
145
|
+
context "without per_page on first page" do
|
146
|
+
before(:all) { @collection = @array.paginate :page => 1 }
|
147
|
+
subject { @collection }
|
148
|
+
its(:count) { should eq 0 }
|
149
|
+
its(:current_page) { should eq 1 }
|
150
|
+
its(:pages) { should eq 1 }
|
151
|
+
its(:total) { should eq 0 }
|
152
|
+
its(:offset) { should eq 0 }
|
153
|
+
its(:next_page) { should be_nil }
|
154
|
+
its(:previous_page) { should be_nil }
|
155
|
+
its(:need_paginate?) { should be_false }
|
156
|
+
its(:first_page?) { should be_true }
|
157
|
+
its(:last_page?) { should be_true }
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
116
161
|
describe Array, "with 199 items" do
|
117
162
|
before(:all) { @array = (1..199).to_a }
|
118
163
|
subject { @array }
|
@@ -127,6 +172,7 @@ describe RailsPaginate::Collection do
|
|
127
172
|
before(:all) { @collection = @array.paginate :page => 1 }
|
128
173
|
subject { @collection }
|
129
174
|
its(:count) { should eq 10 }
|
175
|
+
its(:current_page) { should eq 1 }
|
130
176
|
its(:pages) { should eq 20 }
|
131
177
|
its(:total) { should eq 199 }
|
132
178
|
its(:offset) { should eq 0 }
|
@@ -141,6 +187,7 @@ describe RailsPaginate::Collection do
|
|
141
187
|
before(:all) { @collection = @array.paginate :page => 10 }
|
142
188
|
subject { @collection }
|
143
189
|
its(:count) { should eq 10 }
|
190
|
+
its(:current_page) { should eq 10 }
|
144
191
|
its(:pages) { should eq 20 }
|
145
192
|
its(:total) { should eq 199 }
|
146
193
|
its(:offset) { should eq 90 }
|
@@ -155,6 +202,7 @@ describe RailsPaginate::Collection do
|
|
155
202
|
before(:all) { @collection = @array.paginate :page => 20 }
|
156
203
|
subject { @collection }
|
157
204
|
its(:count) { should eq 9 }
|
205
|
+
its(:current_page) { should eq 20 }
|
158
206
|
its(:pages) { should eq 20 }
|
159
207
|
its(:total) { should eq 199 }
|
160
208
|
its(:offset) { should eq 190 }
|
@@ -165,10 +213,11 @@ describe RailsPaginate::Collection do
|
|
165
213
|
its(:last_page?) { should be_true }
|
166
214
|
end
|
167
215
|
|
168
|
-
context "with per_page 60 on page
|
216
|
+
context "with per_page 60 on page 3" do
|
169
217
|
before(:all) { @collection = @array.paginate :page => 3, :per_page => 60 }
|
170
218
|
subject { @collection }
|
171
219
|
its(:count) { should eq 60 }
|
220
|
+
its(:current_page) { should eq 3 }
|
172
221
|
its(:pages) { should eq 4 }
|
173
222
|
its(:total) { should eq 199 }
|
174
223
|
its(:offset) { should eq 120 }
|
@@ -187,6 +236,7 @@ describe RailsPaginate::Collection do
|
|
187
236
|
before(:all) { @collection = @array.paginate :page => 1 }
|
188
237
|
subject { @collection }
|
189
238
|
its(:count) { should eq 6 }
|
239
|
+
its(:current_page) { should eq 1 }
|
190
240
|
its(:pages) { should eq 1 }
|
191
241
|
its(:total) { should eq 6 }
|
192
242
|
its(:offset) { should eq 0 }
|
data/spec/spec_helper.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
2
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
|
-
|
4
|
-
|
3
|
+
unless defined? JRUBY_VERSION
|
4
|
+
require 'simplecov'
|
5
|
+
SimpleCov.start 'rails'
|
6
|
+
end
|
7
|
+
|
5
8
|
require 'rspec'
|
6
9
|
require 'rails_paginate'
|
7
10
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: rails_paginate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Marco Scholl
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-02-
|
13
|
+
date: 2011-02-16 00:00:00 +01:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: *id001
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: autotest
|
29
29
|
requirement: &id002 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
@@ -36,7 +36,7 @@ dependencies:
|
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: *id002
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
|
-
name:
|
39
|
+
name: bundler
|
40
40
|
requirement: &id003 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
@@ -47,7 +47,7 @@ dependencies:
|
|
47
47
|
prerelease: false
|
48
48
|
version_requirements: *id003
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
50
|
+
name: jeweler
|
51
51
|
requirement: &id004 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
53
53
|
requirements:
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
prerelease: false
|
59
59
|
version_requirements: *id004
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
|
-
name:
|
61
|
+
name: rspec
|
62
62
|
requirement: &id005 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
64
64
|
requirements:
|
@@ -69,7 +69,7 @@ dependencies:
|
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: *id005
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
72
|
+
name: yard
|
73
73
|
requirement: &id006 !ruby/object:Gem::Requirement
|
74
74
|
none: false
|
75
75
|
requirements:
|
@@ -80,7 +80,7 @@ dependencies:
|
|
80
80
|
prerelease: false
|
81
81
|
version_requirements: *id006
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
|
-
name:
|
83
|
+
name: simplecov
|
84
84
|
requirement: &id007 !ruby/object:Gem::Requirement
|
85
85
|
none: false
|
86
86
|
requirements:
|
@@ -91,7 +91,7 @@ dependencies:
|
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: *id007
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
|
-
name:
|
94
|
+
name: sqlite3
|
95
95
|
requirement: &id008 !ruby/object:Gem::Requirement
|
96
96
|
none: false
|
97
97
|
requirements:
|
@@ -153,7 +153,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
153
153
|
requirements:
|
154
154
|
- - ">="
|
155
155
|
- !ruby/object:Gem::Version
|
156
|
-
hash:
|
156
|
+
hash: -3849386219473513286
|
157
157
|
segments:
|
158
158
|
- 0
|
159
159
|
version: "0"
|