geared_pagination 1.1.2 → 1.2.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/.github/workflows/ci.yml +8 -11
- data/Gemfile.lock +5 -5
- data/bin/release +13 -0
- data/bin/test +8 -0
- data/geared_pagination.gemspec +4 -2
- data/lib/geared_pagination/engine.rb +6 -0
- data/lib/geared_pagination/page.rb +5 -1
- data/lib/geared_pagination/portions/portion_at_cursor.rb +7 -4
- data/lib/geared_pagination/version.rb +3 -0
- data/lib/geared_pagination.rb +13 -0
- metadata +14 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dcd6217ccba91dc6481791650dd5906e390d45acf4fb71caf0c34d76eedaea83
|
4
|
+
data.tar.gz: 68a65630d9dc8cd95c236dcbf313aa2c4076c09a06ee0ccb9175a175857072f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86686dda8a790f044b647946737c6ebb238a370f77ea0aea7f3c22d3335779b9ce6ee1bd89c43a62d66d3e6299769a6d70ae48f86fbce1df09df8106e113069f
|
7
|
+
data.tar.gz: 9d0a5ea64551d9978cb366411e8b1141ae09deab60e6f8ff24b4485122a155e17156060b73bd76802a37f3b124dd79c7d51c2ed83b308d4a9841a7923680b295
|
data/.github/workflows/ci.yml
CHANGED
@@ -2,22 +2,19 @@ name: CI
|
|
2
2
|
on: [push, pull_request]
|
3
3
|
jobs:
|
4
4
|
tests:
|
5
|
+
strategy:
|
6
|
+
fail-fast: false
|
7
|
+
matrix:
|
8
|
+
ruby: ["2.7", "3.0", "3.1", "3.2"]
|
5
9
|
runs-on: ubuntu-latest
|
6
10
|
|
7
11
|
steps:
|
8
|
-
- uses: actions/checkout@
|
9
|
-
|
12
|
+
- uses: actions/checkout@v4
|
10
13
|
- name: Set up Ruby 2.7
|
11
|
-
uses:
|
12
|
-
with:
|
13
|
-
ruby-version: 2.7.x
|
14
|
-
|
15
|
-
- name: Cache gem dependencies
|
16
|
-
uses: actions/cache@v1
|
14
|
+
uses: ruby/setup-ruby@v1
|
17
15
|
with:
|
18
|
-
|
19
|
-
|
20
|
-
restore-keys: ${{ runner.os }}-bundler-
|
16
|
+
ruby-version: ${{ matrix.ruby }}
|
17
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
21
18
|
|
22
19
|
- name: Install system dependencies
|
23
20
|
run: sudo apt-get update && sudo apt-get install libsqlite3-dev
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
geared_pagination (1.
|
4
|
+
geared_pagination (1.2.0)
|
5
5
|
activesupport (>= 5.0)
|
6
6
|
addressable (>= 2.5.0)
|
7
7
|
|
@@ -73,8 +73,8 @@ GEM
|
|
73
73
|
i18n (>= 1.6, < 2)
|
74
74
|
minitest (>= 5.1)
|
75
75
|
tzinfo (~> 2.0)
|
76
|
-
addressable (2.8.
|
77
|
-
public_suffix (>= 2.0.2, <
|
76
|
+
addressable (2.8.5)
|
77
|
+
public_suffix (>= 2.0.2, < 6.0)
|
78
78
|
builder (3.2.4)
|
79
79
|
byebug (11.1.3)
|
80
80
|
concurrent-ruby (1.1.10)
|
@@ -113,7 +113,7 @@ GEM
|
|
113
113
|
nokogiri (1.13.6)
|
114
114
|
mini_portile2 (~> 2.8.0)
|
115
115
|
racc (~> 1.4)
|
116
|
-
public_suffix (
|
116
|
+
public_suffix (5.0.4)
|
117
117
|
racc (1.6.0)
|
118
118
|
rack (2.2.3.1)
|
119
119
|
rack-test (1.1.0)
|
@@ -160,7 +160,7 @@ PLATFORMS
|
|
160
160
|
ruby
|
161
161
|
|
162
162
|
DEPENDENCIES
|
163
|
-
bundler
|
163
|
+
bundler
|
164
164
|
byebug
|
165
165
|
geared_pagination!
|
166
166
|
rails (>= 5.0)
|
data/bin/release
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
VERSION=$1
|
4
|
+
|
5
|
+
printf "module GearedPagination\n VERSION = \"$VERSION\"\nend\n" > ./lib/geared_pagination/version.rb
|
6
|
+
bundle
|
7
|
+
git add Gemfile.lock lib/geared_pagination/version.rb
|
8
|
+
git commit -m "Bump version for $VERSION"
|
9
|
+
git push
|
10
|
+
git tag v$VERSION
|
11
|
+
git push --tags
|
12
|
+
gem build geared_pagination.gemspec
|
13
|
+
gem push "geared_pagination-$VERSION.gem" --host https://rubygems.org
|
data/bin/test
ADDED
data/geared_pagination.gemspec
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
require_relative "lib/geared_pagination/version"
|
2
|
+
|
1
3
|
Gem::Specification.new do |s|
|
2
4
|
s.name = 'geared_pagination'
|
3
|
-
s.version =
|
5
|
+
s.version = GearedPagination::VERSION
|
4
6
|
s.authors = 'David Heinemeier Hansson'
|
5
7
|
s.email = 'david@basecamp.com'
|
6
8
|
s.summary = 'Paginate Active Record sets at variable speeds'
|
@@ -12,7 +14,7 @@ Gem::Specification.new do |s|
|
|
12
14
|
s.add_dependency 'activesupport', '>= 5.0'
|
13
15
|
s.add_dependency 'addressable', '>= 2.5.0'
|
14
16
|
|
15
|
-
s.add_development_dependency 'bundler'
|
17
|
+
s.add_development_dependency 'bundler'
|
16
18
|
|
17
19
|
s.files = `git ls-files`.split("\n")
|
18
20
|
s.test_files = `git ls-files -- test/*`.split("\n")
|
@@ -7,4 +7,10 @@ class GearedPagination::Engine < ::Rails::Engine
|
|
7
7
|
ActionController::Base.send :include, GearedPagination::Controller
|
8
8
|
end
|
9
9
|
end
|
10
|
+
|
11
|
+
if GearedPagination.rails_7_1?
|
12
|
+
initializer "geared_pagination.deprecator" do |app|
|
13
|
+
app.deprecators[:geared_pagination] = GearedPagination.deprecator
|
14
|
+
end
|
15
|
+
end
|
10
16
|
end
|
@@ -48,7 +48,11 @@ module GearedPagination
|
|
48
48
|
end
|
49
49
|
|
50
50
|
alias_method :next_number, :next_param
|
51
|
-
|
51
|
+
if GearedPagination.rails_7_1?
|
52
|
+
deprecate next_number: "use #next_param instead", deprecator: GearedPagination.deprecator
|
53
|
+
else
|
54
|
+
deprecate next_number: "use #next_param instead"
|
55
|
+
end
|
52
56
|
|
53
57
|
|
54
58
|
def cache_key
|
@@ -12,10 +12,13 @@ module GearedPagination
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def from(scope)
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
15
|
+
@froms ||= {}
|
16
|
+
@froms[scope] ||= begin
|
17
|
+
if scope.order_values.none? && scope.limit_value.nil?
|
18
|
+
selection_from(scope).order(orderings).limit(limit)
|
19
|
+
else
|
20
|
+
raise ArgumentError, "Can't paginate relation with ORDER BY or LIMIT clauses (got #{scope.to_sql})"
|
21
|
+
end
|
19
22
|
end
|
20
23
|
end
|
21
24
|
|
data/lib/geared_pagination.rb
CHANGED
@@ -1,2 +1,15 @@
|
|
1
|
+
require 'active_support/deprecation'
|
2
|
+
require_relative "geared_pagination/version"
|
3
|
+
|
4
|
+
module GearedPagination
|
5
|
+
def self.rails_7_1?
|
6
|
+
Rails.version >= "7.1.0" rescue false
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.deprecator
|
10
|
+
@deprecator ||= ActiveSupport::Deprecation.new(VERSION, "GearedPagination")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
1
14
|
require 'geared_pagination/recordset'
|
2
15
|
require 'geared_pagination/engine' if defined?(Rails)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: geared_pagination
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -42,17 +42,17 @@ dependencies:
|
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
55
|
-
description:
|
54
|
+
version: '0'
|
55
|
+
description:
|
56
56
|
email: david@basecamp.com
|
57
57
|
executables: []
|
58
58
|
extensions: []
|
@@ -66,6 +66,8 @@ files:
|
|
66
66
|
- README.md
|
67
67
|
- Rakefile
|
68
68
|
- bin/rails
|
69
|
+
- bin/release
|
70
|
+
- bin/test
|
69
71
|
- geared_pagination.gemspec
|
70
72
|
- lib/geared_pagination.rb
|
71
73
|
- lib/geared_pagination/controller.rb
|
@@ -79,6 +81,7 @@ files:
|
|
79
81
|
- lib/geared_pagination/portions/portion_at_offset.rb
|
80
82
|
- lib/geared_pagination/ratios.rb
|
81
83
|
- lib/geared_pagination/recordset.rb
|
84
|
+
- lib/geared_pagination/version.rb
|
82
85
|
- test/controller_test.rb
|
83
86
|
- test/cursor_test.rb
|
84
87
|
- test/dummy/Rakefile
|
@@ -162,7 +165,7 @@ homepage: https://github.com/basecamp/geared_pagination
|
|
162
165
|
licenses:
|
163
166
|
- MIT
|
164
167
|
metadata: {}
|
165
|
-
post_install_message:
|
168
|
+
post_install_message:
|
166
169
|
rdoc_options: []
|
167
170
|
require_paths:
|
168
171
|
- lib
|
@@ -177,8 +180,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
180
|
- !ruby/object:Gem::Version
|
178
181
|
version: '0'
|
179
182
|
requirements: []
|
180
|
-
rubygems_version: 3.
|
181
|
-
signing_key:
|
183
|
+
rubygems_version: 3.4.20
|
184
|
+
signing_key:
|
182
185
|
specification_version: 4
|
183
186
|
summary: Paginate Active Record sets at variable speeds
|
184
187
|
test_files:
|