class Pagy::Countless
No need to know the count to paginate
def finalize(fetched_size)
def finalize(fetched_size) raise OverflowError.new(self, :page, "to be < #{@page}", @page) if fetched_size.zero? && @page > 1 @pages = @last = (fetched_size > @items ? @page + 1 : @page) @in = [fetched_size, @items].min @from = @in.zero? ? 0 : @offset - @outset + 1 @to = @offset - @outset + @in @prev = (@page - 1 unless @page == 1) @next = @page == @last ? (1 if @vars[:cycle]) : @page + 1 self end
def initialize(vars = {}) # rubocop:disable Lint/MissingSuper
Merge and validate the options, do some simple arithmetic and set a few instance variables
def initialize(vars = {}) # rubocop:disable Lint/MissingSuper normalize_vars(vars) setup_vars(page: 1, outset: 0) setup_items_var setup_params_var @offset = (@items * (@page - 1)) + @outset end
def series(*)
Override the original series.
def series(*) super unless @vars[:countless_minimal] end