class Spaceship::ConnectAPI::Response

Attributes

body[R]
client[R]
headers[R]
status[R]

Public Class Methods

new(body: nil, status: nil, headers: nil, client: nil) click to toggle source
# File spaceship/lib/spaceship/connect_api/response.rb, line 12
def initialize(body: nil, status: nil, headers: nil, client: nil)
  @body = body
  @status = status
  @headers = headers
  @client = client
end

Public Instance Methods

all_pages(&block) click to toggle source
# File spaceship/lib/spaceship/connect_api/response.rb, line 56
def all_pages(&block)
  return next_pages(count: nil, &block)
end
all_pages_each() { |model| ... } click to toggle source
# File spaceship/lib/spaceship/connect_api/response.rb, line 72
def all_pages_each(&block)
  to_models.each do |model|
    yield(model)
  end

  resp = self
  loop do
    resp = resp.next_page
    break if resp.nil?
    resp.each(&block)
  end
end
each() { |model| ... } click to toggle source
# File spaceship/lib/spaceship/connect_api/response.rb, line 66
def each(&block)
  to_models.each do |model|
    yield(model)
  end
end
next_page() { |url| ... } click to toggle source
# File spaceship/lib/spaceship/connect_api/response.rb, line 25
def next_page(&block)
  url = next_url
  return nil if url.nil?
  if block_given?
    return yield(url)
  else
    return client.get(url)
  end
end
next_pages(count: 1, &block) click to toggle source
# File spaceship/lib/spaceship/connect_api/response.rb, line 35
def next_pages(count: 1, &block)
  if !count.nil? && count < 0
    count = 0
  end

  responses = [self]
  counter = 0

  resp = self
  loop do
    resp = resp.next_page(&block)
    break if resp.nil?
    responses << resp
    counter += 1

    break if !count.nil? && counter >= count
  end

  return responses
end
next_url() click to toggle source
# File spaceship/lib/spaceship/connect_api/response.rb, line 19
def next_url
  return nil if body.nil?
  links = body["links"] || {}
  return links["next"]
end
to_models() click to toggle source
# File spaceship/lib/spaceship/connect_api/response.rb, line 60
def to_models
  return [] if body.nil?
  model_or_models = Spaceship::ConnectAPI::Models.parse(body)
  return [model_or_models].flatten
end