class Paginator

Attributes

page[R]
size[R]

Public Class Methods

new(collection, options={}) click to toggle source
# File lib/core_extended/paginator.rb, line 7
def initialize(collection, options={})
  @collection = collection
  @page = options[:page] ? options[:page].to_i : 1
  @size = options[:size] ? options[:size].to_i : 10
end

Public Instance Methods

each(&block) click to toggle source
# File lib/core_extended/paginator.rb, line 13
def each(&block)
  from = size * (page - 1)
  (@collection.slice(from, size) || []).each(&block)
end
first?() click to toggle source
# File lib/core_extended/paginator.rb, line 26
def first?
  page == 1
end
last?() click to toggle source
# File lib/core_extended/paginator.rb, line 30
def last?
  page == pages
end
pages() click to toggle source
# File lib/core_extended/paginator.rb, line 22
def pages
  (total / size.to_f).ceil
end
total() click to toggle source
# File lib/core_extended/paginator.rb, line 18
def total
  @collection.count
end