module Pagy::HeadersExtra
def pagy_link_header(pagy)
def pagy_link_header(pagy) { 'link' => [].tap do |link| if defined?(::Pagy::Keyset) && pagy.is_a?(Keyset) link << %(<#{pagy_url_for(pagy, nil, absolute: true)}>; rel="first") link << %(<#{pagy_url_for(pagy, pagy.next, absolute: true)}>; rel="next") if pagy.next else url_str = pagy_url_for(pagy, PAGE_TOKEN, absolute: true) link << %(<#{url_str.sub(PAGE_TOKEN, '1')}>; rel="first") link << %(<#{url_str.sub(PAGE_TOKEN, pagy.prev.to_s)}>; rel="prev") if pagy.prev link << %(<#{url_str.sub(PAGE_TOKEN, pagy.next.to_s)}>; rel="next") if pagy.next link << %(<#{url_str.sub(PAGE_TOKEN, pagy.last.to_s)}>; rel="last") \ unless defined?(::Pagy::Countless) && pagy.is_a?(Countless) end end.join(', ') } end