add pagination for getting log entries from wikis

This commit is contained in:
rick
2010-07-05 18:34:18 -07:00
parent e0f90982b0
commit 6f4ae420a2
5 changed files with 79 additions and 2 deletions
+32
View File
@@ -0,0 +1,32 @@
module Gollum
module Pagination
def self.included(klass)
klass.extend ClassMethods
class << klass
attr_accessor :per_page
end
klass.per_page = 30
end
module ClassMethods
def page_to_skip(page)
([1, page.to_i].max - 1) * per_page
end
def log_pagination_options(options = {})
skip = page_to_skip(options.delete(:page))
options[:max_count] = [options.delete(:per_page).to_i, per_page].max
options[:skip] = skip if skip > 0
options
end
end
def page_to_skip(page)
self.class.page_to_skip(page)
end
def log_pagination_options(options = {})
self.class.log_pagination_options(options)
end
end
end