module FrilansFinansAPI::Walker::ClassMethods

Public Instance Methods

walk(client: FrilansFinansAPI.config.client_klass.new) { |resource_index| ... } click to toggle source
# File lib/frilans_finans_api/client/walker.rb, line 10
def walk(client: FrilansFinansAPI.config.client_klass.new)
  current_page = 1
  total_pages = 2

  resources = []

  while total_pages >= current_page
    resource_index = index(page: current_page, client: client)
    total_pages = resource_index.total_pages

    yield(resource_index) if block_given?
    resources += resource_index.resources

    current_page += 1
  end
  resources
end