simple_paginator 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.
- checksums.yaml +4 -4
- data/README.ja.md +3 -3
- data/README.md +3 -3
- data/lib/simple_paginator/version.rb +1 -1
- data/lib/simple_paginator.rb +11 -11
- data/spec/simple_paginator_spec.rb +6 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de5ee51ed38d27bc7e0c7c6f578f9addc063793b
|
4
|
+
data.tar.gz: 72f22af1e57ba92b5e4b5dc9028e0d989f17c011
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3fe6bbaa6fb2ed003b181f00c0162cceae12abd35e354ed3bdd1d4f7a1cd42763b06aa687e9dffbe714dd2843debb4bab9e73dfe7721b58fb64f4252f9f08e8
|
7
|
+
data.tar.gz: 51d8a00c2e4dda39964a9c8901d6dba1e5468417aa2ca00102d9efaa019e6468d449c6d702fe0ba5bae87b2ab414e92ceaecf9c2698f7718f17d485eb9c8fe6a
|
data/README.ja.md
CHANGED
@@ -36,13 +36,13 @@ Post.paged(1) #=> 最大 26 件のオブジェクトが返ります。
|
|
36
36
|
Post.paged(11) #=> 最大ページ以降は常に 0 件のレコードが返ります。
|
37
37
|
```
|
38
38
|
|
39
|
-
1 ページあたりのレコード数や最大ページ数を変えたい場合は `
|
39
|
+
1 ページあたりのレコード数や最大ページ数を変えたい場合は `per_page`, `max_page` メソッドを使います。
|
40
40
|
|
41
41
|
```
|
42
42
|
class Post < ActiveRecord::Base
|
43
43
|
include SimplePaginator
|
44
|
-
|
45
|
-
|
44
|
+
per_page 10
|
45
|
+
max_page 5
|
46
46
|
end
|
47
47
|
```
|
48
48
|
|
data/README.md
CHANGED
@@ -37,13 +37,13 @@ Post.paged(1) #=> returns 26 records at most.
|
|
37
37
|
Post.paged(11) #=> returns 0 records if page is more than max_page.
|
38
38
|
```
|
39
39
|
|
40
|
-
You can use `
|
40
|
+
You can use `per_page`, `max_page` to change default behavior.
|
41
41
|
|
42
42
|
```
|
43
43
|
class Post < ActiveRecord::Base
|
44
44
|
include SimplePaginator
|
45
|
-
|
46
|
-
|
45
|
+
per_page 10
|
46
|
+
max_page 5
|
47
47
|
end
|
48
48
|
```
|
49
49
|
|
data/lib/simple_paginator.rb
CHANGED
@@ -10,17 +10,17 @@ module SimplePaginator
|
|
10
10
|
DEFAULT_MAX_PAGE = 10
|
11
11
|
|
12
12
|
included do
|
13
|
-
cattr_accessor :
|
14
|
-
|
15
|
-
|
13
|
+
cattr_accessor :per_page_value, :max_page_value
|
14
|
+
per_page DEFAULT_PER_PAGE
|
15
|
+
max_page DEFAULT_MAX_PAGE
|
16
16
|
scope :paged, ->(page) {
|
17
17
|
num = page_number(page)
|
18
|
-
if num >
|
18
|
+
if num > max_page_value
|
19
19
|
none
|
20
|
-
elsif num ==
|
21
|
-
limit(
|
20
|
+
elsif num == max_page_value
|
21
|
+
limit(per_page_value).offset((num-1)*per_page_value)
|
22
22
|
else
|
23
|
-
limit(
|
23
|
+
limit(per_page_value+1).offset((num-1)*per_page_value)
|
24
24
|
end
|
25
25
|
}
|
26
26
|
end
|
@@ -29,11 +29,11 @@ module SimplePaginator
|
|
29
29
|
def page_number(raw_page)
|
30
30
|
[raw_page.to_i, 1].max
|
31
31
|
end
|
32
|
-
def
|
33
|
-
self.
|
32
|
+
def per_page(per_page)
|
33
|
+
self.per_page_value = per_page
|
34
34
|
end
|
35
|
-
def
|
36
|
-
self.
|
35
|
+
def max_page(max_page)
|
36
|
+
self.max_page_value = max_page
|
37
37
|
end
|
38
38
|
end
|
39
39
|
end
|
@@ -17,8 +17,8 @@ describe SimplePaginator do
|
|
17
17
|
|
18
18
|
describe 'class methods' do
|
19
19
|
specify { expect(Post).to be_respond_to(:paged) }
|
20
|
-
specify { expect(Post).to be_respond_to(:
|
21
|
-
specify { expect(Post).to be_respond_to(:
|
20
|
+
specify { expect(Post).to be_respond_to(:per_page) }
|
21
|
+
specify { expect(Post).to be_respond_to(:max_page) }
|
22
22
|
end
|
23
23
|
|
24
24
|
describe '.page_number' do
|
@@ -91,15 +91,15 @@ describe SimplePaginator do
|
|
91
91
|
context 'change per_page, max_page' do
|
92
92
|
before do
|
93
93
|
Post.class_eval {
|
94
|
-
|
95
|
-
|
94
|
+
per_page 3
|
95
|
+
max_page 2
|
96
96
|
}
|
97
97
|
end
|
98
98
|
|
99
99
|
after do
|
100
100
|
Post.class_eval {
|
101
|
-
|
102
|
-
|
101
|
+
per_page SimplePaginator::DEFAULT_PER_PAGE
|
102
|
+
max_page SimplePaginator::DEFAULT_MAX_PAGE
|
103
103
|
}
|
104
104
|
end
|
105
105
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_paginator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Satoshi Ebisawa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|