Class: Ralexa::PaginatingCollection

Inherits:
LazyCollection show all
Defined in:
lib/ralexa/paginating_collection.rb

Instance Method Summary collapse

Methods inherited from Result

#result

Constructor Details

#initialize(client, host, path, parameters, limit, per_page, &parser) ⇒ PaginatingCollection

Returns a new instance of PaginatingCollection.



4
5
6
7
8
9
# File 'lib/ralexa/paginating_collection.rb', line 4

def initialize(client, host, path, parameters, limit, per_page, &parser)
  validate_parameters(parameters)
  super(client, host, path, parameters, &parser)
  @limit = limit
  @per_page = per_page
end

Instance Method Details

#eachObject



11
12
13
14
15
16
17
# File 'lib/ralexa/paginating_collection.rb', line 11

def each
  Paginator.new(@per_page, @limit).pages.each do |page|
    parse(fetch(parameters(page))).each do |item|
      yield item
    end
  end
end