class Pagy

def initialize(vars)

Merge and validate the options, do some simple arithmetic and set the instance variables
def initialize(vars)
  normalize_vars(vars)
  setup_vars(count: 0, page: 1, outset: 0)
  setup_items_var
  setup_pages_var
  setup_params_var
  raise OverflowError.new(self, :page, "in 1..#{@last}", @page) if @page > @last
  @offset = (@items * (@page - 1)) + @outset
  @from   = [@offset - @outset + 1, @count].min
  @to     = [@offset - @outset + @items, @count].min
  @in     = [@to - @from + 1, @count].min
  @prev   = (@page - 1 unless @page == 1)
  @next   = @page == @last ? (1 if @vars[:cycle]) : @page + 1
end