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() click to toggle source
# File spaceship/lib/spaceship/connect_api/response.rb, line 52
def all_pages
  return next_pages(count: nil)
end
each() { |model| ... } click to toggle source
# File spaceship/lib/spaceship/connect_api/response.rb, line 62
def each(&block)
  to_models.each do |model|
    yield(model)
  end
end
next_page() click to toggle source
# File spaceship/lib/spaceship/connect_api/response.rb, line 25
def next_page
  url = next_url
  return nil if url.nil?
  return client.get(url)
end
next_pages(count: 1) click to toggle source
# File spaceship/lib/spaceship/connect_api/response.rb, line 31
def next_pages(count: 1)
  if !count.nil? && count < 0
    count = 0
  end

  responses = [self]
  counter = 0

  resp = self
  loop do
    resp = resp.next_page
    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 56
def to_models
  return [] if body.nil?
  model_or_models = Spaceship::ConnectAPI::Models.parse(body)
  return [model_or_models].flatten
end