module Kaminari::Xpagination
Constants
- VERSION
Protected Instance Methods
set_x_pagination_headers(scope)
click to toggle source
# File lib/kaminari/xpagination.rb, line 7 def set_x_pagination_headers(scope) data = {} scope = instance_variable_get(:"@#{scope}") url = request.original_url.sub(/\?.*$/, '') pages = {} data[:total] = scope.total_count data[:total_pages] = scope.total_pages unless scope.first_page? pages[:first] = 1 pages[:prev] = scope.current_page - 1 end unless scope.last_page? pages[:last] = scope.total_pages pages[:next] = scope.current_page + 1 end pages.each do |k, v| new_params = request.query_parameters.merge({ page: v }) data.merge!({ "#{k}" => "#{url}?#{new_params.to_param}" }) end headers['X-Pagination'] = data.to_json end