Module: Smplkit::ManagementClient::PaginatedFetch

Defined in:
lib/smplkit/management/client.rb

Overview

Walk a generated paginated list endpoint to completion.

The block receives a per-page opts hash with page_number and page_size filled in, calls the generated list method through ErrorMapping.call, and returns the response object. Pages stop when the server returns fewer rows than requested — the platform’s standard last-page signal across every offset-paginated list endpoint. Returns the concatenated response.data rows.

Class Method Summary collapse

Class Method Details

.collect(page_size: RUNTIME_PAGE_SIZE) ⇒ Object



146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'lib/smplkit/management/client.rb', line 146

def collect(page_size: RUNTIME_PAGE_SIZE)
  rows = []
  page_number = 1
  loop do
    opts = { page_number: page_number, page_size: page_size }
    response = ErrorMapping.call { yield(opts) }
    page = response.data || []
    rows.concat(page)
    break if page.length < page_size

    page_number += 1
  end
  rows
end