graphql-connections 1.3.0 → 1.4.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: ed09e36d3d30a8e2cd939a1b9b39341168478d547e4b0e990798e612f6f83e49
4
- data.tar.gz: bc35f6d38dcebf5a97ce0cf69d6540db2712046bddc15f5c1bca0c685115eac4
3
+ metadata.gz: '02926f990b7d1e58b3525574aa596bb9562c505748b5ec57bc6273c6b5f1392d'
4
+ data.tar.gz: 27b7eadc1484abdca5f63689a7f12a9ae342b4067701263c7c7e2a64d72ed575
5
5
  SHA512:
6
- metadata.gz: 2408beb9fb3346e5ce7e980b462dc34762d5507bb65eb9c1051672d1dc0b8d33c2807d5113b0837a704ad3311bcbc27baeddb5bd4bb1177e8e748d00ca0f2b98
7
- data.tar.gz: 042f6ee93e8fbc8391122ac5546bf18c3be595b2c45504daeff6dbec16240278141ad3e9a5d145e30a14c84e70d37ef03fb242e282c110f41ffd2605ebca81c4
6
+ metadata.gz: b23023ada99877a5a48fc7d5ae9c516a7ff85e0047ba1aa552b46c8b9bfc97e8fb68554cad0f8fefd5e23a76d4040f9e9a79c342709a8a97e6465e76cd4b541a
7
+ data.tar.gz: 7407e8990df1428fc8accfcbedca133fea7847e9052bd6aed828eb6dfbf5101166a18741e4e54033498898da6014ccaaa9150ffdd14b02fe0ba9039d6701487a
@@ -42,10 +42,10 @@ module GraphQL
42
42
  false
43
43
  end
44
44
  end
45
- # rubocop:enable Naming/PredicateName, Metrics/AbcSize, Metrics/MethodLength
46
45
 
47
46
  private
48
47
 
48
+ # standard:disable Metrics/AbcSize, Metrics/MethodLength
49
49
  def limited_relation
50
50
  scope = sliced_relation
51
51
  nodes = []
@@ -78,6 +78,7 @@ module GraphQL
78
78
  .where(arel_table[primary_key].lt(before_cursor_primary_key))
79
79
  .or(relation.where(arel_table[field_key].lt(before_cursor_date)))
80
80
  end
81
+ # standard:enable Metrics/AbcSize, Metrics/MethodLength
81
82
  end
82
83
  end
83
84
  end
@@ -42,8 +42,8 @@ module GraphQL
42
42
  false
43
43
  end
44
44
  end
45
- # rubocop:enable Naming/PredicateName, Metrics/AbcSize, Metrics/MethodLength
46
45
 
46
+ # standard:disable Metrics/AbcSize, Metrics/MethodLength
47
47
  def cursor_for(item)
48
48
  cursor = [item[field_key], item[primary_key]].map { |value| serialize(value) }.join(@separator)
49
49
  cursor = encode(cursor) if opaque_cursor
@@ -85,6 +85,7 @@ module GraphQL
85
85
  .where(arel_table[primary_key].gt(before_cursor_primary_key))
86
86
  .or(relation.where(arel_table[field_key].gt(before_cursor_date)))
87
87
  end
88
+ # standard:disable Metrics/AbcSize, Metrics/MethodLength
88
89
  end
89
90
  end
90
91
  end
@@ -16,8 +16,10 @@ module GraphQL
16
16
  end
17
17
 
18
18
  def has_previous_page
19
+ return false if nodes.empty?
20
+
19
21
  if last
20
- nodes.any? && items_exist?(type: :query, search: nodes.first[primary_key], page_type: :previous)
22
+ items_exist?(type: :query, search: nodes.first[primary_key], page_type: :previous)
21
23
  elsif after
22
24
  items_exist?(type: :cursor, search: after_cursor, page_type: :previous)
23
25
  else
@@ -26,6 +28,8 @@ module GraphQL
26
28
  end
27
29
 
28
30
  def has_next_page
31
+ return false if nodes.empty?
32
+
29
33
  if first
30
34
  items_exist?(type: :query, search: nodes.last[primary_key], page_type: :next)
31
35
  elsif before
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GraphQL
4
4
  module Paging
5
- VERSION = "1.3.0"
5
+ VERSION = "1.4.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql-connections
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Misha Merkushin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-16 00:00:00.000000000 Z
11
+ date: 2023-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -162,14 +162,14 @@ dependencies:
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: '5.0'
165
+ version: '6.0'
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: '5.0'
172
+ version: '6.0'
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: standard
175
175
  requirement: !ruby/object:Gem::Requirement
@@ -190,14 +190,14 @@ dependencies:
190
190
  requirements:
191
191
  - - "~>"
192
192
  - !ruby/object:Gem::Version
193
- version: '1.0'
193
+ version: 1.0.0
194
194
  type: :development
195
195
  prerelease: false
196
196
  version_requirements: !ruby/object:Gem::Requirement
197
197
  requirements:
198
198
  - - "~>"
199
199
  - !ruby/object:Gem::Version
200
- version: '1.0'
200
+ version: 1.0.0
201
201
  description:
202
202
  email:
203
203
  - merkushin.m.s@gmail.com
@@ -231,14 +231,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
231
231
  requirements:
232
232
  - - ">"
233
233
  - !ruby/object:Gem::Version
234
- version: '2.5'
234
+ version: '2.6'
235
235
  required_rubygems_version: !ruby/object:Gem::Requirement
236
236
  requirements:
237
237
  - - ">="
238
238
  - !ruby/object:Gem::Version
239
239
  version: '0'
240
240
  requirements: []
241
- rubygems_version: 3.2.32
241
+ rubygems_version: 3.4.20
242
242
  signing_key:
243
243
  specification_version: 4
244
244
  summary: GraphQL cursor-based stable pagination to work with Active Record relations