module Data::Pagination
Public Instance Methods
apply_pagination(offset: 0, pagesize: nil)
click to toggle source
# File lib/tabulatr/data/pagination.rb, line 26 def apply_pagination(offset: 0, pagesize: nil) @relation = @relation.limit(pagesize).offset(offset) end
compute_pagination(page, pagesize)
click to toggle source
# File lib/tabulatr/data/pagination.rb, line 30 def compute_pagination(page, pagesize) count = @relation.count count = count.count if count.is_a?(Hash) page ||= 1 pagesize, page = pagesize.to_i, page.to_i pagesize = Tabulatr::pagesize if pagesize == 0 pages = (count/pagesize.to_f).ceil { offset: [0,((page-1)*pagesize).to_i].max, pagesize: pagesize, pages: pages, page: page, count: count } end