-
-
Save handshake-engineering-blog/376996a93e7e6abdd1f013c0c95aae32 to your computer and use it in GitHub Desktop.
1977385383_11
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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