module SimplePaginator::ClassMethods
Public Instance Methods
max_page(max_page)
click to toggle source
# File lib/simple_paginator.rb, line 41 def max_page(max_page) @max_page = max_page end
page_number(raw_page)
click to toggle source
# File lib/simple_paginator.rb, line 33 def page_number(raw_page) [raw_page.to_i, 1].max end
paged(page, options = {})
click to toggle source
# File lib/simple_paginator.rb, line 18 def paged(page, options = {}) num = page_number(page) per_page = options[:per_page].presence || @per_page max_page = options[:max_page].presence || @max_page if num > max_page scoped = none elsif num == max_page scoped = limit(per_page).offset((num-1)*per_page) else scoped = limit(per_page+1).offset((num-1)*per_page) end scoped end
per_page(per_page)
click to toggle source
# File lib/simple_paginator.rb, line 37 def per_page(per_page) @per_page = per_page end