1
0
Fork 0
mirror of https://github.com/kaminari/kaminari.git synced 2022-11-09 13:44:37 -05:00

Added a param to allow setting of the total count of documents to paginate through. Useful for when working with RSolr.

This commit is contained in:
Sam Dalton 2011-07-24 19:34:37 -07:00
parent beeb13bbde
commit a7b8b02941

View file

@ -5,8 +5,8 @@ module Kaminari
attr_internal_accessor :limit_value, :offset_value attr_internal_accessor :limit_value, :offset_value
def initialize(original_array, limit_val = default_per_page, offset_val = 0) #:nodoc: def initialize(original_array, limit_val = default_per_page, offset_val = 0, count = nil) #:nodoc:
@_original_array, @_limit_value, @_offset_value = original_array, limit_val, offset_val @_original_array, @_limit_value, @_offset_value, @_total_count = original_array, limit_val, offset_val, count
super(original_array[offset_val, limit_val] || []) super(original_array[offset_val, limit_val] || [])
end end
@ -22,12 +22,12 @@ module Kaminari
# total item numbers of the original array # total item numbers of the original array
def total_count def total_count
@_original_array.count @_total_count || @_original_array.count
end end
# returns another chunk of the original array # returns another chunk of the original array
def offset(num) def offset(num)
arr = self.class.new @_original_array, limit_value, num arr = self.class.new @_original_array, limit_value, num, total_count
class << arr class << arr
include Kaminari::PageScopeMethods include Kaminari::PageScopeMethods
end end
@ -39,4 +39,4 @@ module Kaminari
def self.paginate_array(array) def self.paginate_array(array)
PaginatableArray.new array PaginatableArray.new array
end end
end end