module Ro::Pagination

Public Instance Methods

current_page() click to toggle source
# File lib/ro/pagination.rb, line 30
def current_page
  @page
end
num_pages() click to toggle source
# File lib/ro/pagination.rb, line 46
def num_pages
  @num_pages
end
num_pages=(num_pages) click to toggle source
# File lib/ro/pagination.rb, line 42
def num_pages=(num_pages)
  @num_pages = num_pages
end
page(*args) click to toggle source
# File lib/ro/pagination.rb, line 26
def page(*args)
  @page
end
page=(page) click to toggle source
# File lib/ro/pagination.rb, line 22
def page=(page)
  @page = page
end
paginate(*args) click to toggle source
# File lib/ro/pagination.rb, line 3
def paginate(*args)
  options = Map.options_for!(args)

  page = Integer(args.shift || options[:page] || 1)
  per = Integer(args.shift || options[:per] || options[:size] || 10)

  page = [page.abs, 1].max
  per = [per.abs, 1].max

  offset = (page - 1) * per
  length = per 

  slice = dup.slice(offset, length)
  slice.page = page
  slice.per = per
  slice.num_pages = (size.to_f / per).ceil
  slice
end
per() click to toggle source
# File lib/ro/pagination.rb, line 38
def per
  @per
end
per=(per) click to toggle source
# File lib/ro/pagination.rb, line 34
def per=(per)
  @per = per
end
total_pages() click to toggle source
# File lib/ro/pagination.rb, line 50
def total_pages
  num_pages
end