Class: Ramaze::Helper::Paginate::Paginator::ArrayPager
- Inherits:
-
Object
- Object
- Ramaze::Helper::Paginate::Paginator::ArrayPager
- Includes:
- Enumerable
- Defined in:
- lib/ramaze/helper/paginate.rb
Overview
Wrapper for Array to behave like the Sequel pagination
Direct Known Subclasses
Instance Method Summary (collapse)
-
- (Object) current_page
-
- (Object) each(&block)
-
- (Boolean) empty?
-
- (Boolean) first_page?
-
- (ArrayPager) initialize(array, page, limit)
constructor
A new instance of ArrayPager.
-
- (Boolean) last_page?
-
- (Object) next_page
-
- (Object) page_count
-
- (Object) prev_page
-
- (Object) size
Constructor Details
- (ArrayPager) initialize(array, page, limit)
A new instance of ArrayPager
236 237 238 239 |
# File 'lib/ramaze/helper/paginate.rb', line 236 def initialize(array, page, limit) @array, @page, @limit = array, page, limit @page = page_count if @page > page_count end |
Instance Method Details
- (Object) current_page
254 255 256 |
# File 'lib/ramaze/helper/paginate.rb', line 254 def current_page @page end |
- (Object) each(&block)
274 275 276 277 278 279 280 |
# File 'lib/ramaze/helper/paginate.rb', line 274 def each(&block) from = ((@page - 1) * @limit) to = from + @limit a = @array[from...to] || [] a.each(&block) end |
- (Boolean) empty?
245 246 247 |
# File 'lib/ramaze/helper/paginate.rb', line 245 def empty? @array.empty? end |
- (Boolean) first_page?
266 267 268 |
# File 'lib/ramaze/helper/paginate.rb', line 266 def first_page? @page <= 1 end |
- (Boolean) last_page?
270 271 272 |
# File 'lib/ramaze/helper/paginate.rb', line 270 def last_page? page_count == @page end |
- (Object) next_page
258 259 260 |
# File 'lib/ramaze/helper/paginate.rb', line 258 def next_page page_count == @page ? nil : @page + 1 end |
- (Object) page_count
249 250 251 252 |
# File 'lib/ramaze/helper/paginate.rb', line 249 def page_count pages, rest = size.divmod(@limit) rest == 0 ? pages : pages + 1 end |
- (Object) prev_page
262 263 264 |
# File 'lib/ramaze/helper/paginate.rb', line 262 def prev_page @page <= 1 ? nil : @page - 1 end |
- (Object) size
241 242 243 |
# File 'lib/ramaze/helper/paginate.rb', line 241 def size @array.size end |