graphql-connections 1.3.0 → 1.4.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: 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