class SmartPaginate::PaginatingArray
Attributes
current_page[RW]
per_page[RW]
total_entries[RW]
Public Instance Methods
next_page()
click to toggle source
# File lib/smart_paginate/paginating_array.rb, line 31 def next_page current_page + 1 if next_page? end
next_page?()
click to toggle source
# File lib/smart_paginate/paginating_array.rb, line 23 def next_page? (current_page * per_page) < total_entries end
paginate(options = {})
click to toggle source
# File lib/smart_paginate/paginating_array.rb, line 7 def paginate(options = {}) page = SmartPaginate::Paginate.new(options.fetch(:page), options[:per_page]) if page.offset <= length array = self.slice(page.offset, page.per_page) else # out of bounds, just create an empty array array = PaginatingArray.new end array.current_page = page.current_page array.per_page = page.per_page array.total_entries = length array end
previous_page()
click to toggle source
# File lib/smart_paginate/paginating_array.rb, line 35 def previous_page current_page - 1 if previous_page? end
previous_page?()
click to toggle source
# File lib/smart_paginate/paginating_array.rb, line 27 def previous_page? current_page > 1 end
total_pages()
click to toggle source
# File lib/smart_paginate/paginating_array.rb, line 39 def total_pages total_entries > 0 ? (total_entries / per_page.to_f).ceil : 1 end