class Ramaze::Helper::Paginate::Paginator::ArrayPager
Wrapper for Array to behave like the Sequel pagination
Public Class Methods
new(array, page, limit)
click to toggle source
# File lib/ramaze/helper/paginate.rb, line 236 def initialize(array, page, limit) @array, @page, @limit = array, page, limit @page = page_count if @page > page_count end
Public Instance Methods
current_page()
click to toggle source
# File lib/ramaze/helper/paginate.rb, line 254 def current_page @page end
each(&block)
click to toggle source
# File lib/ramaze/helper/paginate.rb, line 274 def each(&block) from = ((@page - 1) * @limit) to = from + @limit a = @array[from...to] || [] a.each(&block) end
empty?()
click to toggle source
# File lib/ramaze/helper/paginate.rb, line 245 def empty? @array.empty? end
first_page?()
click to toggle source
# File lib/ramaze/helper/paginate.rb, line 266 def first_page? @page <= 1 end
last_page?()
click to toggle source
# File lib/ramaze/helper/paginate.rb, line 270 def last_page? page_count == @page end
next_page()
click to toggle source
# File lib/ramaze/helper/paginate.rb, line 258 def next_page page_count == @page ? nil : @page + 1 end
page_count()
click to toggle source
# File lib/ramaze/helper/paginate.rb, line 249 def page_count pages, rest = size.divmod(@limit) rest == 0 ? pages : pages + 1 end
prev_page()
click to toggle source
# File lib/ramaze/helper/paginate.rb, line 262 def prev_page @page <= 1 ? nil : @page - 1 end
size()
click to toggle source
# File lib/ramaze/helper/paginate.rb, line 241 def size @array.size end