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