Module: PageNumber
- Defined in:
- lib/page_number.rb
Overview
Usage
require "page_number"
class BaseController
include PageNumber
protected
def page_sizes
[ 25, 50, 100 ]
end
end
class SubController < BaseController
def action
User.all(:page => page(params[:page]), :per_page => per_page(params[:per_page]))
end
end
Defined Under Namespace
Classes: PageInvalid
Constant Summary collapse
- VERSION =
"0.2.0".freeze
Instance Method Summary collapse
- #page(n) ⇒ Object (also: #__page__)
- #page!(page) ⇒ Object (also: #__page__!)
- #per_page(n) ⇒ Object (also: #__per_page__)
Instance Method Details
#page(n) ⇒ Object Also known as: __page__
44 45 46 47 48 49 |
# File 'lib/page_number.rb', line 44 def page(n) n = __int(n) return default_page if n < 1 max_page_number && n > max_page_number ? max_page_number : n end |
#page!(page) ⇒ Object Also known as: __page__!
34 35 36 37 38 39 40 |
# File 'lib/page_number.rb', line 34 def page!(page) n = __int(page) raise PageInvalid.new("page must be > 0", page) if n < 1 raise PageInvalid.new("page must be <= #{max_page_number}", page) if max_page_number && n > max_page_number n end |
#per_page(n) ⇒ Object Also known as: __per_page__
53 54 55 56 57 58 |
# File 'lib/page_number.rb', line 53 def per_page(n) n = __int(n) return default_per_page if n < 1 page_sizes && !page_sizes.include?(n) ? default_per_page : n end |