9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/pagy/toolbox/paginators/keynav_js.rb', line 9
def paginate(set, options)
page = options[:request].resolve_page(force_integer: false)
return CountlessPaginator.paginate(set, page:, **options) if page&.match(' ')
if page.is_a?(String) page_arguments = JSON.parse(B64.urlsafe_decode(page))
options[:page] = page_arguments if options[:request].cookie == page_arguments.shift
end
options[:limit] = options[:request].resolve_limit
pagy = Keyset::Keynav.new(set, **options)
[pagy, pagy.records]
end
|