class GraphQR::Pagination::Resolvers::RecordPageNumberResolver
This is a resolver that receives the id of an object and returns the page number in which the object is located.
Constants
- INDEX_OFFSET
Public Instance Methods
resolve(record_id:)
click to toggle source
# File lib/graphqr/pagination/resolvers/record_page_number_resolver.rb, line 16 def resolve(record_id:) per_page = object.vars[:items] records_ids = object.ordered_record_ids_proc.call record_index = records_ids.find_index(record_id.to_i) return if per_page.zero? || records_ids.blank? || record_index.blank? record_position = (record_index + INDEX_OFFSET).to_f (record_position / per_page).ceil end