class Pagy::Countless

No need to know the count to paginate
:nodoc:

def finalize(fetched_size)

Finalize the instance variables based on the fetched size
def finalize(fetched_size)
  raise OverflowError.new(self, :page, "to be < #{@page}", @page) if fetched_size.zero? && @page > 1
  @last = fetched_size > @items ? @page + 1 : @page
  @last = vars[:max_pages] if vars[:max_pages] && @last > vars[:max_pages]
  raise OverflowError.new(self, :page, "in 1..#{@last}", @page) if @page > @last
  @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

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_offset_var
end