PageNumber
¶ ↑
Utility methods for pagination page and per page that make sure you'll always have a valid number.
Use them your controllers (recommended) or model or anywhere where you process page info.
Usage¶ ↑
PageNumber
provides 3 methods:
-
page(n)
/__page__(n)
(defaults to1
) -
page!(n)
/__page__!(n)
(raisesPageNumber::PageInvalid
instead of returning default) -
per_page(n)
/per_page(n)
(defaults to10
)
To use, include
or extend
the PageNumber
module:
require "page_number" class BaseController include PageNumber end class SubController < BaseController def index User.all(:page => page(params[:page]), :per_page => per_page(params[:per_page])) end end
To have better control over how page
and per_page
work you can define one or more of the following methods:
class BaseController include PageNumber # These are all optional protected def page_sizes [ 25, 50, 100 ] end def default_per_page 20 end def default_page 2 end def max_page_number # who knows!? end
Author¶ ↑
Skye Shaw [skye.shaw AT gmail.com]
License¶ ↑
Released under the MIT License: www.opensource.org/licenses/MIT