Sha256: 066490ae54efc396b1a9c2c3bd9aaf6eba34e72f744bb3d4fe9d9afb82ce86df
Contents?: true
Size: 955 Bytes
Versions: 7
Compression:
Stored size: 955 Bytes
Contents
require 'geared_pagination/recordset' require 'geared_pagination/headers' module GearedPagination module Controller extend ActiveSupport::Concern included do after_action :set_paginated_headers etag { @page if geared_page? } end private def set_page_and_extract_portion_from(records, ordered_by: nil, per_page: nil) @page = current_page_from(records, ordered_by: ordered_by, per_page: per_page) @page.records end def current_page_from(records, ordered_by: nil, per_page: nil) GearedPagination::Recordset.new(records, ordered_by: ordered_by, per_page: per_page).page(current_page_param) end def set_paginated_headers GearedPagination::Headers.new(page: @page, controller: self).apply if geared_page? end def geared_page? @page.is_a? GearedPagination::Page end def current_page_param params[:page] end end end
Version data entries
7 entries across 7 versions & 1 rubygems