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

Constant Summary collapse

VERSION =
"0.1.0".freeze

Instance Method Summary collapse

Instance Method Details

#page(n) ⇒ Object Also known as: __page__



25
26
27
28
29
30
# File 'lib/page_number.rb', line 25

def page(n)
  n = __int(n)
  return default_page if n < 1

  max_page_number && n > max_page_number ? max_page_number : n
end

#per_page(n) ⇒ Object Also known as: __per_page__



34
35
36
37
38
39
# File 'lib/page_number.rb', line 34

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