api-pagination 4.8.2 → 6.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e0006fcbe882c8a54820796eaf3d573d04b3dd2057cb9d6130b56389dff36790
4
- data.tar.gz: b585330048fb81eb9b83c377af32ea85d3fd80afcc864b70a01426e0d51c1bf4
3
+ metadata.gz: 0aeee41828ccf353b3be509b5ddc10f180cb238d9b12bb8c357dc3ddfd35f07e
4
+ data.tar.gz: d2e33f4bf383e78f99d9e0d5ee6878e6fa54c8f9ad7412de18d23cadf45ec650
5
5
  SHA512:
6
- metadata.gz: e79b9e403a5a30834d9bd94e11687a79e08ac049463fe749b025dc98cd476ed11b98e0667b6e01f13315c9bf374d19fb500af6e0a98a1cecb1bf2753101be9ef
7
- data.tar.gz: '0398d5cab6c18f426823f8d99ef02a3796380047f87c99864600cfd0ff52bb86246f4d3091f8b3d95decd1f34827323792eebe2d77502abe05bcc235a7993382'
6
+ metadata.gz: c45ef1013c9a791da01d230be2f1a719af87a658b7ba7ab5a2643959eebe9bed8c7935f591f3077a8ed9db5822d561299a9fad87b8347faa3d45b7e6bab70cfc
7
+ data.tar.gz: 81e9f814f3ba16bcf86f1a07a26d7ac951e1dbc8a13221e9ef6db207861389ee301b6cb2c1923ff3deffc5718bc203070c0f4b77fca64535abe26f62590fdd6f
@@ -1,8 +1,8 @@
1
1
  module ApiPagination
2
2
  class Version
3
- MAJOR = 4
4
- MINOR = 8
5
- PATCH = 2
3
+ MAJOR = 6
4
+ MINOR = 0
5
+ PATCH = 0
6
6
 
7
7
  def self.to_s
8
8
  [MAJOR, MINOR, PATCH].join('.')
@@ -47,17 +47,17 @@ module ApiPagination
47
47
  private
48
48
 
49
49
  def paginate_with_pagy(collection, options)
50
- if Pagy::VARS[:max_per_page] && options[:per_page] > Pagy::VARS[:max_per_page]
51
- options[:per_page] = Pagy::VARS[:max_per_page]
50
+ if Pagy::DEFAULT[:max_per_page] && options[:per_page] > Pagy::DEFAULT[:max_per_page]
51
+ options[:per_page] = Pagy::DEFAULT[:max_per_page]
52
52
  elsif options[:per_page] <= 0
53
- options[:per_page] = Pagy::VARS[:items]
53
+ options[:per_page] = Pagy::DEFAULT[:limit]
54
54
  end
55
55
 
56
56
  pagy = pagy_from(collection, options)
57
57
  collection = if collection.respond_to?(:offset) && collection.respond_to?(:limit)
58
- collection.offset(pagy.offset).limit(pagy.items)
58
+ collection.offset(pagy.offset).limit(pagy.limit)
59
59
  else
60
- collection[pagy.offset, pagy.items]
60
+ collection[pagy.offset, pagy.limit]
61
61
  end
62
62
 
63
63
  return [collection, pagy]
@@ -69,8 +69,8 @@ module ApiPagination
69
69
  else
70
70
  count = collection.is_a?(Array) ? collection.count : collection.count(:all)
71
71
  end
72
-
73
- Pagy.new(count: count, items: options[:per_page], page: options[:page])
72
+
73
+ Pagy.new(count: count, limit: options[:per_page], page: options[:page])
74
74
  end
75
75
 
76
76
  def pagy_pages_from(pagy)
@@ -94,7 +94,7 @@ module ApiPagination
94
94
  options[:per_page] = get_default_per_page_for_kaminari(collection)
95
95
  end
96
96
 
97
- collection = Kaminari.paginate_array(collection, paginate_array_options) if collection.is_a?(Array)
97
+ collection = Kaminari.paginate_array(collection, **paginate_array_options) if collection.is_a?(Array)
98
98
  collection = collection.page(options[:page]).per(options[:per_page])
99
99
  collection.without_count if !collection.is_a?(Array) && !ApiPagination.config.include_total
100
100
  [collection, nil]
@@ -11,7 +11,7 @@ describe ApiPagination do
11
11
  describe '.paginate' do
12
12
  it 'should accept paginate_array_options option' do
13
13
  expect(Kaminari).to receive(:paginate_array)
14
- .with(collection, paginate_array_options)
14
+ .with(collection, **paginate_array_options)
15
15
  .and_call_original
16
16
 
17
17
  ApiPagination.paginate(
data/spec/rails_spec.rb CHANGED
@@ -262,7 +262,7 @@ describe NumbersController, :type => :controller do
262
262
  end
263
263
  end
264
264
 
265
- after :all do
265
+ after :all do
266
266
  class Fixnum
267
267
  class << self
268
268
  undef_method :default_per_page, :per_page
@@ -286,7 +286,7 @@ describe NumbersController, :type => :controller do
286
286
 
287
287
  expect(response.header['Per-Page']).to eq(
288
288
  case ApiPagination.config.paginator
289
- when :pagy then Pagy::VARS[:items].to_s
289
+ when :pagy then Pagy::DEFAULT[:limit].to_s
290
290
  when :kaminari then Kaminari.config.default_per_page.to_s
291
291
  when :will_paginate then WillPaginate.per_page.to_s
292
292
  end
@@ -295,13 +295,13 @@ describe NumbersController, :type => :controller do
295
295
  end
296
296
  end
297
297
 
298
- context 'default per page in objects without paginator defaults' do
298
+ context 'default per page in objects without paginator defaults' do
299
299
  it 'should not fail if model does not respond to per page' do
300
300
  get :index_with_no_per_page, params: {count: 100}
301
301
 
302
302
  expect(response.header['Per-Page']).to eq(
303
303
  case ApiPagination.config.paginator
304
- when :pagy then Pagy::VARS[:items].to_s
304
+ when :pagy then Pagy::DEFAULT[:limit].to_s
305
305
  when :kaminari then Kaminari.config.default_per_page.to_s
306
306
  when :will_paginate then WillPaginate.per_page.to_s
307
307
  end
@@ -309,4 +309,4 @@ describe NumbersController, :type => :controller do
309
309
  end
310
310
  end
311
311
  end
312
- end
312
+ end
metadata CHANGED
@@ -1,99 +1,165 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api-pagination
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.8.2
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Celis
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-07 00:00:00.000000000 Z
11
+ date: 2024-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rspec
14
+ name: kaminari
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.0'
19
+ version: '1.2'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.2.1
20
23
  type: :development
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: '3.0'
29
+ version: '1.2'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.2.1
27
33
  - !ruby/object:Gem::Dependency
28
- name: grape
34
+ name: pagy
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '9.0'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '9.0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: will_paginate
29
49
  requirement: !ruby/object:Gem::Requirement
30
50
  requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.3'
31
54
  - - ">="
32
55
  - !ruby/object:Gem::Version
33
- version: 0.10.0
56
+ version: 3.3.1
34
57
  type: :development
35
58
  prerelease: false
36
59
  version_requirements: !ruby/object:Gem::Requirement
37
60
  requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '3.3'
38
64
  - - ">="
39
65
  - !ruby/object:Gem::Version
40
- version: 0.10.0
66
+ version: 3.3.1
67
+ - !ruby/object:Gem::Dependency
68
+ name: rspec
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '3.10'
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '3.10'
81
+ - !ruby/object:Gem::Dependency
82
+ name: grape
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '1.6'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '1.6'
41
95
  - !ruby/object:Gem::Dependency
42
96
  name: railties
43
97
  requirement: !ruby/object:Gem::Requirement
44
98
  requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '6.1'
45
102
  - - ">="
46
103
  - !ruby/object:Gem::Version
47
- version: 5.0.0
104
+ version: 6.1.4.1
48
105
  type: :development
49
106
  prerelease: false
50
107
  version_requirements: !ruby/object:Gem::Requirement
51
108
  requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '6.1'
52
112
  - - ">="
53
113
  - !ruby/object:Gem::Version
54
- version: 5.0.0
114
+ version: 6.1.4.1
55
115
  - !ruby/object:Gem::Dependency
56
116
  name: actionpack
57
117
  requirement: !ruby/object:Gem::Requirement
58
118
  requirements:
119
+ - - "~>"
120
+ - !ruby/object:Gem::Version
121
+ version: '6.1'
59
122
  - - ">="
60
123
  - !ruby/object:Gem::Version
61
- version: 5.0.0
124
+ version: 6.1.4.1
62
125
  type: :development
63
126
  prerelease: false
64
127
  version_requirements: !ruby/object:Gem::Requirement
65
128
  requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '6.1'
66
132
  - - ">="
67
133
  - !ruby/object:Gem::Version
68
- version: 5.0.0
134
+ version: 6.1.4.1
69
135
  - !ruby/object:Gem::Dependency
70
136
  name: sequel
71
137
  requirement: !ruby/object:Gem::Requirement
72
138
  requirements:
73
- - - ">="
139
+ - - "~>"
74
140
  - !ruby/object:Gem::Version
75
- version: 4.9.0
141
+ version: '5.49'
76
142
  type: :development
77
143
  prerelease: false
78
144
  version_requirements: !ruby/object:Gem::Requirement
79
145
  requirements:
80
- - - ">="
146
+ - - "~>"
81
147
  - !ruby/object:Gem::Version
82
- version: 4.9.0
148
+ version: '5.49'
83
149
  - !ruby/object:Gem::Dependency
84
150
  name: activerecord-nulldb-adapter
85
151
  requirement: !ruby/object:Gem::Requirement
86
152
  requirements:
87
- - - ">="
153
+ - - "~>"
88
154
  - !ruby/object:Gem::Version
89
- version: 0.3.9
155
+ version: 0.7.0
90
156
  type: :development
91
157
  prerelease: false
92
158
  version_requirements: !ruby/object:Gem::Requirement
93
159
  requirements:
94
- - - ">="
160
+ - - "~>"
95
161
  - !ruby/object:Gem::Version
96
- version: 0.3.9
162
+ version: 0.7.0
97
163
  description: Link header pagination for Rails and Grape APIs
98
164
  email:
99
165
  - me@davidcel.is
@@ -126,38 +192,37 @@ homepage: https://github.com/davidcelis/api-pagination
126
192
  licenses:
127
193
  - MIT
128
194
  metadata: {}
129
- post_install_message:
195
+ post_install_message:
130
196
  rdoc_options: []
131
197
  require_paths:
132
198
  - lib
133
199
  required_ruby_version: !ruby/object:Gem::Requirement
134
200
  requirements:
135
- - - ">="
201
+ - - ">"
136
202
  - !ruby/object:Gem::Version
137
- version: '0'
203
+ version: '2.7'
138
204
  required_rubygems_version: !ruby/object:Gem::Requirement
139
205
  requirements:
140
206
  - - ">="
141
207
  - !ruby/object:Gem::Version
142
208
  version: '0'
143
209
  requirements: []
144
- rubyforge_project:
145
- rubygems_version: 2.7.6
146
- signing_key:
210
+ rubygems_version: 3.5.16
211
+ signing_key:
147
212
  specification_version: 4
148
213
  summary: Link header pagination for Rails and Grape APIs. Don't use the request body.
149
214
  test_files:
150
- - spec/spec_helper.rb
151
- - spec/api-pagination_spec.rb
152
215
  - spec/active_record_spec.rb
216
+ - spec/api-pagination_spec.rb
217
+ - spec/grape_spec.rb
218
+ - spec/rails_spec.rb
153
219
  - spec/sequel_spec.rb
154
- - spec/support/numbers_api.rb
155
- - spec/support/numbers_controller.rb
220
+ - spec/spec_helper.rb
156
221
  - spec/support/active_record/foo.rb
157
222
  - spec/support/active_record/schema.rb
223
+ - spec/support/numbers_api.rb
224
+ - spec/support/numbers_controller.rb
225
+ - spec/support/shared_examples/existing_headers.rb
158
226
  - spec/support/shared_examples/first_page.rb
159
- - spec/support/shared_examples/middle_page.rb
160
227
  - spec/support/shared_examples/last_page.rb
161
- - spec/support/shared_examples/existing_headers.rb
162
- - spec/grape_spec.rb
163
- - spec/rails_spec.rb
228
+ - spec/support/shared_examples/middle_page.rb