class Kaminari::PaginatableArray
Kind of Array that can paginate
Constants
- ENTRY
Public Class Methods
new(original_array = [], limit: nil, offset: nil, total_count: nil, padding: nil)
click to toggle source
Options¶ ↑
-
:limit
- limit -
:offset
- offset -
:total_count
- #total_count -
:padding
- padding
Calls superclass method
# File lib/kaminari/models/array_extension.rb, line 17 def initialize(original_array = [], limit: nil, offset: nil, total_count: nil, padding: nil) @_original_array, @_limit_value, @_offset_value, @_total_count, @_padding = original_array, (limit || default_per_page).to_i, offset.to_i, total_count, padding.to_i if limit && offset extend Kaminari::PageScopeMethods end if @_total_count && (@_total_count <= original_array.count) original_array = original_array.first(@_total_count)[@_offset_value, @_limit_value] end unless @_total_count original_array = original_array[@_offset_value, @_limit_value] end super(original_array || []) end
Public Instance Methods
entry_name(options = {})
click to toggle source
Used for page_entry_info
# File lib/kaminari/models/array_extension.rb, line 36 def entry_name(options = {}) I18n.t('helpers.page_entries_info.entry', **options.reverse_merge(default: ENTRY.pluralize(options[:count]))) end
limit(num)
click to toggle source
returns another chunk of the original array
# File lib/kaminari/models/array_extension.rb, line 48 def limit(num) self.class.new @_original_array, limit: num, offset: @_offset_value, total_count: @_total_count, padding: @_padding end
offset(num)
click to toggle source
returns another chunk of the original array
# File lib/kaminari/models/array_extension.rb, line 58 def offset(num) self.class.new @_original_array, limit: @_limit_value, offset: num, total_count: @_total_count, padding: @_padding end
total_count()
click to toggle source
total item numbers of the original array
# File lib/kaminari/models/array_extension.rb, line 53 def total_count @_total_count || @_original_array.length end