module GlobalRegistryModels::APIOperations::Finders::ClassMethods

Public Instance Methods

all!(filters: nil, start_page: 1, per_page: nil, order: nil, fields: '*', ruleset: nil, max_attempts: 1) click to toggle source
# File lib/global_registry_models/api_operations/finders.rb, line 12
def all!(filters: nil, start_page: 1, per_page: nil, order: nil, fields: '*', ruleset: nil, max_attempts: 1)
  GlobalRegistryModels::Collection.new(meta: {}, list: []).tap do |collection|
    page_num = start_page
    loop do
      sub_collection = GlobalRegistryModels::Retryer.new(RuntimeError, RestClient::InternalServerError, max_attempts: max_attempts).try do
        self.search(filters: filters, page: page_num, per_page: per_page, order: order, fields: fields, ruleset: ruleset)
      end
      collection.concat sub_collection.all
      page_num += 1
      break if sub_collection.blank? || sub_collection.last_page?
    end
  end
end
find(id) click to toggle source
# File lib/global_registry_models/api_operations/finders.rb, line 26
def find(id)
  response_hash = global_registry_resource.find(id)[ressource_type]
  response_hash.has_key?(name) ? (new response_hash[name]) : (new response_hash)
end
page(page_number = 1) click to toggle source
# File lib/global_registry_models/api_operations/finders.rb, line 31
def page(page_number = 1)
  search page: page_number
end