module Middleman::Pagination::ArrayHelpers
Public Instance Methods
Source
# File lib/middleman-core/core_extensions/collections/pagination.rb, line 7 def per_page(per_page) return to_enum(__method__, per_page) unless block_given? parts = if per_page.respond_to? :call per_page.call(dup) else each_slice(per_page).reduce([]) do |sum, items| sum << items end end num_pages = parts.length collection = self current_start_i = 0 parts.each_with_index do |items, i| num = i + 1 meta = ::Middleman::Pagination.page_locals( num, num_pages, collection, items, current_start_i ) yield items, num, meta, num >= num_pages current_start_i += items.length end end