class Moar::Context

Attributes

accumulative[R]
increments[R]
limit[R]
offset[R]
page[R]

Public Class Methods

new(increments, page, accumulative) click to toggle source

@!visibility private

# File lib/moar/context.rb, line 7
def initialize(increments, page, accumulative)
  @increments = increments
  @page = [page, 1].max
  @accumulative = accumulative

  if @page <= @increments.length
    @limit = @increments[@page - 1]
    @offset = @increments.take(@page - 1).sum
    if @accumulative
      @limit += @offset
      @offset = 0
    end
  else
    @limit = @increments.sum
    @offset = @limit * (@page - @increments.length)
  end
end