actionpager 0.0.5 → 0.1.0
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/.gitignore +1 -0
- data/Gemfile.lock +27 -6
- data/LICENSE +1 -1
- data/README.ja.md +73 -0
- data/README.md +45 -2
- data/RELEASE_DATE +1 -0
- data/VERSION +1 -0
- data/actionpager.gemspec +8 -4
- data/lib/action_pager/pager.rb +44 -3
- data/lib/action_pager/pagination.rb +14 -0
- data/lib/actionpager.rb +1 -1
- data/lib/generators/action_pager/templates/app/views/action_pager/_pager.html.erb +35 -33
- metadata +41 -11
- data/lib/action_pager/version.rb +0 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 99b07f8d0f856295de69abdfe86ec10ca9bfbe04fcf3b9de3b290727e85cb25f
|
|
4
|
+
data.tar.gz: 5005c6fabe8b1b7dba2ce2787cb36bfaeb4ff44710e635bc8372e54307027f91
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 87d74558a627912d6fb96fd5e3558d3109fa204345e9125359532cbacb6fc4536c105707a78c054b14c73fba4f23bd0d2764e2649f4dec06b52f4867f022eca4
|
|
7
|
+
data.tar.gz: ff05082a9c4cd7d02e6a9dafb80be0e6710f88b78ae52613212cd8c346ae18bf122dba495eec0f10a9df38dd9be5b5d7150ceddfb8b95cab630d4fdf963b0a17
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,22 +1,43 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
actionpager (0.0
|
|
4
|
+
actionpager (0.1.0)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
activemodel (6.0.3.4)
|
|
10
|
+
activesupport (= 6.0.3.4)
|
|
11
|
+
activerecord (6.0.3.4)
|
|
12
|
+
activemodel (= 6.0.3.4)
|
|
13
|
+
activesupport (= 6.0.3.4)
|
|
14
|
+
activesupport (6.0.3.4)
|
|
15
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
16
|
+
i18n (>= 0.7, < 2)
|
|
17
|
+
minitest (~> 5.1)
|
|
18
|
+
tzinfo (~> 1.1)
|
|
19
|
+
zeitwerk (~> 2.2, >= 2.2.2)
|
|
20
|
+
concurrent-ruby (1.1.7)
|
|
21
|
+
i18n (1.8.5)
|
|
22
|
+
concurrent-ruby (~> 1.0)
|
|
23
|
+
minitest (5.14.2)
|
|
24
|
+
rake (13.0.1)
|
|
25
|
+
sqlite3 (1.4.2)
|
|
26
|
+
thread_safe (0.3.6)
|
|
27
|
+
tzinfo (1.2.7)
|
|
28
|
+
thread_safe (~> 0.1)
|
|
29
|
+
zeitwerk (2.4.0)
|
|
11
30
|
|
|
12
31
|
PLATFORMS
|
|
13
32
|
ruby
|
|
14
33
|
|
|
15
34
|
DEPENDENCIES
|
|
16
35
|
actionpager!
|
|
17
|
-
|
|
36
|
+
activerecord (>= 5.2)
|
|
37
|
+
bundler (>= 1.16)
|
|
18
38
|
minitest (~> 5.0)
|
|
19
|
-
rake (
|
|
39
|
+
rake (>= 12.3.3)
|
|
40
|
+
sqlite3 (~> 1.4)
|
|
20
41
|
|
|
21
42
|
BUNDLED WITH
|
|
22
|
-
1.
|
|
43
|
+
2.1.4
|
data/LICENSE
CHANGED
data/README.ja.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Action Pager
|
|
2
|
+
|
|
3
|
+
コレクション(Array, ActiveRecord::Relationなど)で使用できるシンプルで軽量なページネーターです。
|
|
4
|
+
|
|
5
|
+
## 特徴
|
|
6
|
+
|
|
7
|
+
- シンプルな`pager`オブジェクトがページネーションで使用されます。
|
|
8
|
+
- 元のコレクションを汚染しません。
|
|
9
|
+
- 他のGem (Kaminari, Will Paginateなど)に比べるとメモリ消費が非常に少ないです。
|
|
10
|
+
- カスタマイズが簡単です。
|
|
11
|
+
- ページネーターのビューとヘルパのファイルがアプリ内に生成されます。
|
|
12
|
+
- 用途に応じてカスタマイズできます。
|
|
13
|
+
|
|
14
|
+
## インストール
|
|
15
|
+
|
|
16
|
+
アプリケーションのGemfile以下の行を追加します。
|
|
17
|
+
|
|
18
|
+
```ruby
|
|
19
|
+
gem "actionpager"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
以下を実行します。
|
|
23
|
+
|
|
24
|
+
$ bundle
|
|
25
|
+
|
|
26
|
+
または、以下のようにインストールします。
|
|
27
|
+
|
|
28
|
+
$ gem install actionpager
|
|
29
|
+
|
|
30
|
+
Railsで使用するには以下のコマンドを実行します
|
|
31
|
+
|
|
32
|
+
$ rails g action_pager:install
|
|
33
|
+
|
|
34
|
+
2つのファイルが生成され、カスタマイズすることができます。
|
|
35
|
+
|
|
36
|
+
- `app/helpers/action_pager/pagination_helper.rb`
|
|
37
|
+
- `app/views/action_pager/_pager.html.erb`
|
|
38
|
+
|
|
39
|
+
標準では、Bootstrap 4のページネーションのスタイルを使用しています。
|
|
40
|
+
必要であれば、生成されたファイルをカスタマイズしてください。
|
|
41
|
+
|
|
42
|
+
## 使い方
|
|
43
|
+
|
|
44
|
+
シンプルな配列で使う場合
|
|
45
|
+
|
|
46
|
+
```ruby
|
|
47
|
+
collection = (1..128).to_a
|
|
48
|
+
pager = ActionPager::Pager.new(collection, page: 3, per: 10)
|
|
49
|
+
|
|
50
|
+
pager.current_collection # => [21, ..., 30]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
ActiveRecordのコレクションで使う場合
|
|
54
|
+
|
|
55
|
+
```ruby
|
|
56
|
+
resources = Book.recent_published
|
|
57
|
+
@pager = ActionPager::Pager.new(resources, page: 2, per: 25)
|
|
58
|
+
@books = pager.current_collection
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Railsのビューでページャーを表示するには、以下のようにコードを記述します。
|
|
62
|
+
|
|
63
|
+
```erb
|
|
64
|
+
<%= render_pager @pager %>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## License
|
|
68
|
+
|
|
69
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
|
70
|
+
|
|
71
|
+
## Code of Conduct
|
|
72
|
+
|
|
73
|
+
Everyone interacting in the Actionpager project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/actionpager/blob/master/CODE_OF_CONDUCT.md).
|
data/README.md
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
# Action Pager
|
|
2
2
|
|
|
3
|
-
Simple and
|
|
3
|
+
Simple, lightweight and easy to customize paginator for collections (Array, ActiveRecord::Relation etc.)
|
|
4
|
+
|
|
5
|
+
# Features
|
|
6
|
+
|
|
7
|
+
- A simple `pager` object is used for pagination.
|
|
8
|
+
- It does not pollute the original collection.
|
|
9
|
+
- Consumes less memory than other gems (i.e. Kaminari, Will Paginate etc.).
|
|
10
|
+
- Easy to customize.
|
|
11
|
+
- Paginator view and helper files are generated in your app.
|
|
12
|
+
- You can customize for your own purpose.
|
|
4
13
|
|
|
5
14
|
## Installation
|
|
6
15
|
|
|
@@ -18,9 +27,43 @@ Or install it yourself as:
|
|
|
18
27
|
|
|
19
28
|
$ gem install actionpager
|
|
20
29
|
|
|
30
|
+
Use with Rails
|
|
31
|
+
|
|
32
|
+
$ rails g action_pager:install
|
|
33
|
+
|
|
34
|
+
It generates two files and you can customize.
|
|
35
|
+
|
|
36
|
+
- `app/helpers/action_pager/pagination_helper.rb`
|
|
37
|
+
- `app/views/action_pager/_pager.html.erb`
|
|
38
|
+
|
|
39
|
+
By default, it uses Bootstrap 4 pagination for styles.
|
|
40
|
+
If you need, you can easily customize the generated file.
|
|
41
|
+
|
|
21
42
|
## Usage
|
|
22
43
|
|
|
23
|
-
|
|
44
|
+
Use with a simple array:
|
|
45
|
+
|
|
46
|
+
```ruby
|
|
47
|
+
collection = (1..128).to_a
|
|
48
|
+
pager = ActionPager::Pager.new(collection, page: 3, per: 10)
|
|
49
|
+
|
|
50
|
+
pager.current_collection # => [21, ..., 30]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Use with an ActiveRecord collection
|
|
54
|
+
|
|
55
|
+
```ruby
|
|
56
|
+
resources = Book.recent_published
|
|
57
|
+
@pager = ActionPager::Pager.new(resources, page: 2, per: 25)
|
|
58
|
+
@books = pager.current_collection
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
To show the pager in your Rails app's view, add code like below:
|
|
62
|
+
|
|
63
|
+
```erb
|
|
64
|
+
<%= render_pager @pager %>
|
|
65
|
+
```
|
|
66
|
+
|
|
24
67
|
|
|
25
68
|
## License
|
|
26
69
|
|
data/RELEASE_DATE
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2020-10-12
|
data/VERSION
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.1.0
|
data/actionpager.gemspec
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
|
|
2
2
|
lib = File.expand_path("../lib", __FILE__)
|
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
-
|
|
4
|
+
version = File.read(File.expand_path("VERSION", __dir__)).strip
|
|
5
|
+
date = File.read(File.expand_path("RELEASE_DATE", __dir__)).strip
|
|
5
6
|
|
|
6
7
|
Gem::Specification.new do |spec|
|
|
7
8
|
spec.name = "actionpager"
|
|
8
|
-
spec.version =
|
|
9
|
+
spec.version = version
|
|
10
|
+
spec.date = date
|
|
9
11
|
spec.authors = ["Ryo Hashimoto"]
|
|
10
12
|
spec.email = ["ryohashimoto@gmail.com"]
|
|
11
13
|
|
|
@@ -21,7 +23,9 @@ Gem::Specification.new do |spec|
|
|
|
21
23
|
end
|
|
22
24
|
spec.require_paths = ["lib"]
|
|
23
25
|
|
|
24
|
-
spec.add_development_dependency "bundler", "
|
|
25
|
-
spec.add_development_dependency "rake", "
|
|
26
|
+
spec.add_development_dependency "bundler", ">= 1.16"
|
|
27
|
+
spec.add_development_dependency "rake", ">= 12.3.3"
|
|
26
28
|
spec.add_development_dependency "minitest", "~> 5.0"
|
|
29
|
+
spec.add_development_dependency "activerecord", ">= 5.2"
|
|
30
|
+
spec.add_development_dependency "sqlite3", "~> 1.4"
|
|
27
31
|
end
|
data/lib/action_pager/pager.rb
CHANGED
|
@@ -20,7 +20,8 @@ module ActionPager
|
|
|
20
20
|
current_collection
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
def
|
|
23
|
+
def collection_at(page)
|
|
24
|
+
offset = offset_at(page)
|
|
24
25
|
if collection.is_a?(Array)
|
|
25
26
|
collection.drop(offset).first(per_page)
|
|
26
27
|
else # for ActiveRecord::Relation and other OR mapper collections
|
|
@@ -28,8 +29,48 @@ module ActionPager
|
|
|
28
29
|
end
|
|
29
30
|
end
|
|
30
31
|
|
|
31
|
-
def
|
|
32
|
-
(current_page
|
|
32
|
+
def current_collection
|
|
33
|
+
collection_at(current_page)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def first_collection
|
|
37
|
+
collection_at(first_page)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def last_collection
|
|
41
|
+
collection_at(last_page)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def prev_collection
|
|
45
|
+
collection_at(prev_page)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def next_collection
|
|
49
|
+
collection_at(next_page)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def offset_at(page)
|
|
53
|
+
(page - 1) * per_page
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def current_offset
|
|
57
|
+
offset_at(current_page)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def first_offset
|
|
61
|
+
offset_at(first_page)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def last_offset
|
|
65
|
+
offset_at(last_page)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def prev_offset
|
|
69
|
+
offset_at(prev_page)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def next_offset
|
|
73
|
+
offset_at(next_page)
|
|
33
74
|
end
|
|
34
75
|
|
|
35
76
|
def collection_count
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module ActionPager
|
|
2
|
+
module Pagination
|
|
3
|
+
DEFAULTS = { page: 1, per: 5 }.freeze
|
|
4
|
+
|
|
5
|
+
def pager_for(collection, options={})
|
|
6
|
+
opts = DEFAULTS.merge(options.reject { |_k, v| v.to_i.zero? })
|
|
7
|
+
ActionPager::Pager.new(
|
|
8
|
+
collection,
|
|
9
|
+
page: opts[:page].to_i,
|
|
10
|
+
per: opts[:per].to_i
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
data/lib/actionpager.rb
CHANGED
|
@@ -1,37 +1,39 @@
|
|
|
1
|
-
<
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<li>
|
|
9
|
-
<%= link_to url_for_page(page: pager.prev_page), rel: "prev" do %>
|
|
10
|
-
‹
|
|
11
|
-
<% end -%>
|
|
12
|
-
</li>
|
|
13
|
-
<% end -%>
|
|
14
|
-
<% (1..(pager.last_page)).to_a.each do |page| -%>
|
|
15
|
-
<% if pager.current_page == page -%>
|
|
16
|
-
<li class="active">
|
|
17
|
-
<%= link_to page, url_for_page(page: page) -%>
|
|
1
|
+
<nav>
|
|
2
|
+
<ul class="pagination">
|
|
3
|
+
<% unless pager.first_page? -%>
|
|
4
|
+
<li class="page-item">
|
|
5
|
+
<%= link_to url_for_page(page: pager.first_page), class: "page-link" do %>
|
|
6
|
+
«
|
|
7
|
+
<% end -%>
|
|
18
8
|
</li>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
9
|
+
<li class="page-item">
|
|
10
|
+
<%= link_to url_for_page(page: pager.prev_page), class: "page-link", rel: "prev" do %>
|
|
11
|
+
‹
|
|
12
|
+
<% end -%>
|
|
22
13
|
</li>
|
|
23
14
|
<% end -%>
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
15
|
+
<% pager.near_pages.each do |page| -%>
|
|
16
|
+
<% if pager.current_page == page -%>
|
|
17
|
+
<li class="page-item active">
|
|
18
|
+
<%= link_to page, url_for_page(page: page), class: "page-link" -%>
|
|
19
|
+
</li>
|
|
20
|
+
<% else -%>
|
|
21
|
+
<li class="page-item">
|
|
22
|
+
<%= link_to page, url_for_page(page: page), class: "page-link" -%>
|
|
23
|
+
</li>
|
|
29
24
|
<% end -%>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
25
|
+
<% end -%>
|
|
26
|
+
<% unless pager.last_page? -%>
|
|
27
|
+
<li class="page-item">
|
|
28
|
+
<%= link_to url_for_page(page: pager.next_page), rel: "next", class: "page-link" do -%>
|
|
29
|
+
›
|
|
30
|
+
<% end -%>
|
|
31
|
+
</li>
|
|
32
|
+
<li class="page-item">
|
|
33
|
+
<%= link_to url_for_page(page: pager.last_page), class: "page-link" do -%>
|
|
34
|
+
»
|
|
35
|
+
<% end -%>
|
|
36
|
+
</li>
|
|
37
|
+
<% end -%>
|
|
38
|
+
</ul>
|
|
39
|
+
</nav>
|
metadata
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: actionpager
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
4
|
+
version: 0.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryo Hashimoto
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-10-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: '1.16'
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - "
|
|
24
|
+
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '1.16'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- - "
|
|
31
|
+
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
33
|
+
version: 12.3.3
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- - "
|
|
38
|
+
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
40
|
+
version: 12.3.3
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: minitest
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -52,6 +52,34 @@ dependencies:
|
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '5.0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: activerecord
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '5.2'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '5.2'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: sqlite3
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '1.4'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '1.4'
|
|
55
83
|
description: Simple and lightweight paginator for collections (Array, ActiveRecord::Relation
|
|
56
84
|
etc.)
|
|
57
85
|
email:
|
|
@@ -65,11 +93,14 @@ files:
|
|
|
65
93
|
- Gemfile
|
|
66
94
|
- Gemfile.lock
|
|
67
95
|
- LICENSE
|
|
96
|
+
- README.ja.md
|
|
68
97
|
- README.md
|
|
98
|
+
- RELEASE_DATE
|
|
69
99
|
- Rakefile
|
|
100
|
+
- VERSION
|
|
70
101
|
- actionpager.gemspec
|
|
71
102
|
- lib/action_pager/pager.rb
|
|
72
|
-
- lib/action_pager/
|
|
103
|
+
- lib/action_pager/pagination.rb
|
|
73
104
|
- lib/actionpager.rb
|
|
74
105
|
- lib/generators/action_pager/install_generator.rb
|
|
75
106
|
- lib/generators/action_pager/templates/app/helpers/action_pager/pagination_helper.rb
|
|
@@ -93,8 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
93
124
|
- !ruby/object:Gem::Version
|
|
94
125
|
version: '0'
|
|
95
126
|
requirements: []
|
|
96
|
-
|
|
97
|
-
rubygems_version: 2.7.6
|
|
127
|
+
rubygems_version: 3.1.4
|
|
98
128
|
signing_key:
|
|
99
129
|
specification_version: 4
|
|
100
130
|
summary: Simple and lightweight paginator
|