Sha256: 154ddbfcacd459fbfe6d34943fccf274ee8768f1490bb3eb447610d41dbc1929
Contents?: true
Size: 907 Bytes
Versions: 1
Compression:
Stored size: 907 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, per_page: nil) @page = current_page_from(records, per_page: per_page) @page.records end def current_page_from(records, per_page: nil) GearedPagination::Recordset.new(records, 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].to_i > 0 ? params[:page].to_i : 1 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
geared_pagination-0.2 | lib/geared_pagination/controller.rb |