Class: Imgwire::Pagination::PageEnumerator
- Inherits:
-
Object
- Object
- Imgwire::Pagination::PageEnumerator
- Includes:
- Enumerable
- Defined in:
- lib/imgwire/pagination.rb
Instance Method Summary collapse
- #each ⇒ Object
-
#initialize(page:, limit:, &loader) ⇒ PageEnumerator
constructor
A new instance of PageEnumerator.
Constructor Details
#initialize(page:, limit:, &loader) ⇒ PageEnumerator
Returns a new instance of PageEnumerator.
45 46 47 48 49 |
# File 'lib/imgwire/pagination.rb', line 45 def initialize(page:, limit:, &loader) @page = page @limit = limit @loader = loader end |
Instance Method Details
#each ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/imgwire/pagination.rb', line 51 def each return enum_for(:each) unless block_given? current_page = @page current_limit = @limit while current_page result = @loader.call(current_page, current_limit) yield result current_limit = result.pagination.limit || current_limit current_page = result.pagination.next_page end end |