Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
1977385383_11
def results
@_results ||= begin
if direction == :forward
# If there’s an after cursor, decode it and only query for records with an id that come after that cursor
@items = @items.where('id > ?', Base64.decode64(@after_value)) if @after_value.present?
elsif direction == :backward
# If there’s a before cursor, decode it and only query for records with an id that come before that cursor
@items = @items.where('id < ?', Base64.decode64(@before_value)) if @before_value.present?
@items = @items.reverse_order
end
@items.limit(page_size + 1) # Fetch one extra result to determine if there's another page
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment