class Lithic::Internal::CursorPage

end
puts(account)
cursor_page.auto_paging_each do |account|
@example
end
cursor_page = cursor_page.next_page
if cursor_page.has_next?
@example
@generic Elem

def auto_paging_each(&blk)

Other tags:
    Yieldparam: -

Parameters:
  • blk (Proc) --
def auto_paging_each(&blk)
  unless block_given?
    raise ArgumentError.new("A block must be given to ##{__method__}")
  end
  page = self
  loop do
    page.data&.each(&blk)
    break unless page.next_page?
    page = page.next_page
  end
end

def initialize(client:, req:, headers:, page_data:)

Parameters:
  • page_data (Hash{Symbol=>Object}) --
  • headers (Hash{String=>String}, Net::HTTPHeader) --
  • req (Hash{Symbol=>Object}) --
  • client (Lithic::Internal::Transport::BaseClient) --

Other tags:
    Api: - private
def initialize(client:, req:, headers:, page_data:)
  super
  case page_data
  in {data: Array => data}
    @data = data.map { Lithic::Internal::Type::Converter.coerce(@model, _1) }
  else
  end
  @has_more = page_data[:has_more]
end

def inspect

Returns:
  • (String) -

Other tags:
    Api: - private
def inspect
  model = Lithic::Internal::Type::Converter.inspect(@model, depth: 1)
  "#<#{self.class}[#{model}]:0x#{object_id.to_s(16)} has_more=#{has_more.inspect}>"
end

def next_page

Returns:
  • (self) -

Raises:
  • (Lithic::HTTP::Error) -
def next_page
  unless next_page?
    message = "No more pages available. Please check #next_page? before calling ##{__method__}"
    raise RuntimeError.new(message)
  end
  req = Lithic::Internal::Util.deep_merge(@req, {query: {starting_after: data&.last&.token}})
  @client.request(req)
end

def next_page?

Returns:
  • (Boolean) -
def next_page?
  has_more
end