Sha256: 72fce9121394b25f8d7b27d6b116b00bca669f7c46b3b9a7e3e96b396f65d825
Contents?: true
Size: 734 Bytes
Versions: 1
Compression:
Stored size: 734 Bytes
Contents
require 'geared_pagination/ratios' require 'geared_pagination/page' module GearedPagination class Recordset attr_reader :records, :ratios def initialize(records, per_page: nil) @records = records @ratios = GearedPagination::Ratios.new(per_page) end def page(number) GearedPagination::Page.new(number, from: self) end def page_count @page_count ||= begin count = 0 residual = records_count while residual > 0 count += 1 residual = residual - ratios[count] end count > 0 ? count : 1 end end def records_count @records_count ||= records.unscope(:limit).unscope(:offset).count end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
geared_pagination-0.2 | lib/geared_pagination/recordset.rb |