class GraphQR::Pagination::Resolvers::PagyResolver

This is a resolver that uses Pagy::Backend and maps it to the GraphQL pagination structure.

Public Class Methods

new(records, arguments) click to toggle source
# File lib/graphqr/pagination/resolvers/pagy_resolver.rb, line 11
def initialize(records, arguments)
  @records = records
  @arguments = arguments

  @pagy, paginated_records = pagy(records, arguments)
  @paginated_records = paginated_records.to_a
end

Public Instance Methods

cursor_from_node(item) click to toggle source
# File lib/graphqr/pagination/resolvers/pagy_resolver.rb, line 19
def cursor_from_node(item)
  item.to_global_id.to_s
end
edge_nodes() click to toggle source
# File lib/graphqr/pagination/resolvers/pagy_resolver.rb, line 23
def edge_nodes
  @paginated_records
end
edges() click to toggle source
# File lib/graphqr/pagination/resolvers/pagy_resolver.rb, line 31
def edges
  @paginated_records
end
nodes() click to toggle source
# File lib/graphqr/pagination/resolvers/pagy_resolver.rb, line 27
def nodes
  @paginated_records
end
page_info() click to toggle source
# File lib/graphqr/pagination/resolvers/pagy_resolver.rb, line 35
def page_info
  @pagy
end