module MSS::Core::Collection::Simple
MSS::Core::Collection::Simple
is used by collections that always recieve every matching items in a single response.
This means:
-
Paging methods are simulated
-
Next tokens are artificial (guessable numeric offsets)
MSS
services generally return all items only for requests with a small maximum number of results.
See {MSS::Core::Collection} for documentation on the available collection methods.
Protected Instance Methods
_each_batch(options = {}) { |batch| ... }
click to toggle source
# File lib/mss/core/collection/simple.rb, line 39 def _each_batch options = {}, &block limit = _extract_limit(options) next_token = _extract_next_token(options) offset = next_token ? next_token.to_i - 1 : 0 total = 0 skipped = 0 simulated_next_token = nil batch = [] _each_item(options.dup) do |item| total += 1 # skip until we reach our offset (derived from the "next token") if skipped < offset skipped += 1 next end if limit if batch.size < limit batch << item else simulated_next_token = total break end else batch << item end end yield(batch) simulated_next_token end