Module: SimplePaginator::ClassMethods
- Defined in:
- lib/simple_paginator.rb
Instance Method Summary collapse
- #max_page(max_page) ⇒ Object
- #page_number(raw_page) ⇒ Object
- #paged(page, options = {}) ⇒ Object
- #per_page(per_page) ⇒ Object
Instance Method Details
#max_page(max_page) ⇒ Object
41 42 43 |
# File 'lib/simple_paginator.rb', line 41 def max_page(max_page) @max_page = max_page end |
#page_number(raw_page) ⇒ Object
33 34 35 |
# File 'lib/simple_paginator.rb', line 33 def page_number(raw_page) [raw_page.to_i, 1].max end |
#paged(page, options = {}) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/simple_paginator.rb', line 18 def paged(page, = {}) num = page_number(page) per_page = [:per_page].presence || @per_page max_page = [: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) ⇒ Object
37 38 39 |
# File 'lib/simple_paginator.rb', line 37 def per_page(per_page) @per_page = per_page end |