lib/graphql/pagination/relation_connection.rb in graphql-1.12.6 vs lib/graphql/pagination/relation_connection.rb in graphql-1.12.7
- old
+ new
@@ -33,11 +33,11 @@
true
elsif first
if @nodes && @nodes.count < first
false
else
- relation_count(set_limit(sliced_nodes, first + 1)) == first + 1
+ relation_larger_than(sliced_nodes, first)
end
else
false
end
end
@@ -50,9 +50,16 @@
offset = nodes.index(item) + 1 + (@paged_nodes_offset || 0) + (relation_offset(items) || 0)
encode(offset.to_s)
end
private
+
+ # @param relation [Object] A database query object
+ # @param size [Integer] The value against which we check the relation size
+ # @return [Boolean] True if the number of items in this relation is larger than `size`
+ def relation_larger_than(relation, size)
+ relation_count(set_limit(relation, size + 1)) == size + 1
+ end
# @param relation [Object] A database query object
# @return [Integer, nil] The offset value, or nil if there isn't one
def relation_offset(relation)
raise "#{self.class}#relation_offset(relation) must return the offset value for a #{relation.class} (#{relation.inspect})"