class ResqueCleaner::Server::Paginate
Pagination helper for list page.
Attributes
jobs[RW]
page[RW]
page_size[RW]
url[RW]
Public Class Methods
new(jobs, url, page=1, page_size=20)
click to toggle source
# File lib/resque_cleaner/server.rb, line 15 def initialize(jobs, url, page=1, page_size=20) @jobs = jobs @url = url @page = (!page || page < 1) ? 1 : page @page_size = 20 end
Public Instance Methods
first_index()
click to toggle source
# File lib/resque_cleaner/server.rb, line 22 def first_index @page_size * (@page-1) end
first_page?()
click to toggle source
# File lib/resque_cleaner/server.rb, line 35 def first_page? @page <= 1 end
last_index()
click to toggle source
# File lib/resque_cleaner/server.rb, line 26 def last_index last = first_index + @page_size - 1 last > @jobs.size-1 ? @jobs.size-1 : last end
last_page?()
click to toggle source
# File lib/resque_cleaner/server.rb, line 39 def last_page? @page >= max_page end
max_page()
click to toggle source
# File lib/resque_cleaner/server.rb, line 57 def max_page ((total_size-1) / @page_size) + 1 end
page_url(page)
click to toggle source
# File lib/resque_cleaner/server.rb, line 43 def page_url(page) u = @url u += @url.include?("?") ? "&" : "?" if page.is_a?(Symbol) page = @page - 1 if page==:prev page = @page + 1 if page==:next end u += "p=#{page}" end
paginated_jobs()
click to toggle source
# File lib/resque_cleaner/server.rb, line 31 def paginated_jobs @jobs[first_index,@page_size] end
total_size()
click to toggle source
# File lib/resque_cleaner/server.rb, line 53 def total_size @jobs.size end