module Pagy::JsonApiExtra::BackendOverride
def pagy_get_page(vars)
def pagy_get_page(vars) return super if pagy_skip_jsonapi?(vars) return 1 if params[:page].nil? params[:page][vars[:page_param] || DEFAULT[:page_param]].to_i end
def pagy_jsonapi_links(pagy, **opts)
def pagy_jsonapi_links(pagy, **opts) { first: pagy_url_for(pagy, 1, **opts), last: pagy_url_for(pagy, pagy.last, **opts), prev: pagy_url_for(pagy, pagy.prev, **opts), next: pagy_url_for(pagy, pagy.next, **opts) } end
def pagy_skip_jsonapi?(vars)
def pagy_skip_jsonapi?(vars) return true if vars[:jsonapi] == false || (vars[:jsonapi].nil? && DEFAULT[:jsonapi] == false) # check the reserved :page param raise ReservedParamError, params[:page] unless params[:page].respond_to?(:fetch) || params[:page].nil? end