Skip to content

Commit 4ce6fe5

Browse files
committed
Keep existing logic for non ActiveRecord relations
1 parent ef34b49 commit 4ce6fe5

File tree

1 file changed

+8
-16
lines changed

1 file changed

+8
-16
lines changed

lib/graphql/relay/relation_connection.rb

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,26 +23,18 @@ def cursor_from_node(item)
2323
end
2424
end
2525

26-
def record_exists?(record)
27-
if(defined?(ActiveRecord::Relation) && record.is_a?(ActiveRecord::Relation))
28-
record.exists?
29-
else
30-
!record.empty?
31-
end
32-
end
33-
3426
def has_next_page
3527
if first
36-
if after
37-
paged_nodes.length >= first && record_exists?(nodes.offset(first + offset_from_cursor(after)))
38-
else
39-
paged_nodes.length >= first && record_exists?(nodes.offset(first))
28+
if defined?(ActiveRecord::Relation) && nodes.is_a?(ActiveRecord::Relation)
29+
initial_offset = after ? offset_from_cursor(after) : 0
30+
return paged_nodes.length >= first && nodes.offset(first + initial_offset).exists?
4031
end
41-
elsif GraphQL::Relay::ConnectionType.bidirectional_pagination && last
42-
sliced_nodes_count >= last
43-
else
44-
false
32+
return paged_nodes.length >= first && sliced_nodes_count > first
33+
end
34+
if GraphQL::Relay::ConnectionType.bidirectional_pagination && last
35+
return sliced_nodes_count >= last
4536
end
37+
false
4638
end
4739

4840
def has_previous_page

0 commit comments

Comments
 (0)