api-pagination 4.8.2 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
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