class Pagelux::QueryPaginator::PaginationData

Attributes

limit[R]
page[R]
total[R]

Public Class Methods

default_limit() click to toggle source
# File lib/pagelux/query_paginator.rb, line 45
def self.default_limit
  100
end
default_page() click to toggle source
# File lib/pagelux/query_paginator.rb, line 41
def self.default_page
  1
end
new(page=nil, limit=nil, query_total) click to toggle source
# File lib/pagelux/query_paginator.rb, line 35
def initialize(page=nil, limit=nil, query_total)
  @total = query_total
  @limit = (limit || self.class.default_limit).to_i
  @page =  normalize_page(page)
end

Public Instance Methods

last_page() click to toggle source
# File lib/pagelux/query_paginator.rb, line 56
def last_page
  (total/limit.to_f).ceil
end
normalize_page(n) click to toggle source
# File lib/pagelux/query_paginator.rb, line 49
def normalize_page(n)
  n = (n  || self.class.default_page).to_i
  n = n > last_page ? last_page : n
  n = self.class.default_page if n < self.class.default_page
  n
end