Class: Sem::Pagination

Inherits:
Object
  • Object
show all
Defined in:
lib/sem/pagination.rb

Class Method Summary collapse

Class Method Details

.pages(pages_per_call, &block) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/sem/pagination.rb', line 4

def pages(pages_per_call, &block)
  instances = []
  index = 1

  loop do
    pages = range_map(index, pages_per_call, &block)

    instances += pages.select { |page| !(page.nil? || page.empty?) }
    index += pages_per_call

    break instances if pages.any? { |page| page.nil? || page.empty? }
  end
end