Class: MongoBrowser::Models::Pager
- Inherits:
-
Object
- Object
- MongoBrowser::Models::Pager
- Defined in:
- lib/mongo_browser/models/pager.rb
Constant Summary collapse
- PER_PAGE =
25
Instance Attribute Summary collapse
-
#page ⇒ Object
readonly
Returns the value of attribute page.
-
#size ⇒ Object
readonly
Returns the value of attribute size.
Instance Method Summary collapse
-
#initialize(page, size) ⇒ Pager
constructor
A new instance of Pager.
- #offset ⇒ Object
- #per_page ⇒ Object
- #to_hash ⇒ Object
- #total_pages ⇒ Object
Constructor Details
#initialize(page, size) ⇒ Pager
Returns a new instance of Pager.
9 10 11 12 13 14 15 16 |
# File 'lib/mongo_browser/models/pager.rb', line 9 def initialize(page, size) @size = size @page = if page.to_i <= 0 then 1 else [page.to_i, total_pages].min end end |
Instance Attribute Details
#page ⇒ Object (readonly)
Returns the value of attribute page.
6 7 8 |
# File 'lib/mongo_browser/models/pager.rb', line 6 def page @page end |
#size ⇒ Object (readonly)
Returns the value of attribute size.
7 8 9 |
# File 'lib/mongo_browser/models/pager.rb', line 7 def size @size end |
Instance Method Details
#offset ⇒ Object
22 23 24 |
# File 'lib/mongo_browser/models/pager.rb', line 22 def offset (page - 1) * per_page end |
#per_page ⇒ Object
18 19 20 |
# File 'lib/mongo_browser/models/pager.rb', line 18 def per_page PER_PAGE end |
#to_hash ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/mongo_browser/models/pager.rb', line 34 def to_hash { size: size, page: page, total_pages: total_pages } end |
#total_pages ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/mongo_browser/models/pager.rb', line 26 def total_pages if size == 0 then 1 else (size.to_f / per_page).ceil end end |