class Gitlab::QA::Component::Staging::Version

def fetch!

def fetch!
  response =
    Net::HTTP.start(@uri.host, @uri.port, use_ssl: true) do |http|
      http.request(request)
    end
  case response
  when Net::HTTPSuccess
    JSON.parse(response.body).fetch('version')
  else
    raise InvalidResponseError.new(@uri.to_s, response)
  end
end

def initialize(address)

def initialize(address)
  @uri = URI.join(address, '/api/v4/version')
end

def request

def request
  Runtime::Env.require_qa_access_token!
  @request ||= Net::HTTP::Get.new(@uri.path).tap do |req|
    req['PRIVATE-TOKEN'] = Runtime::Env.qa_access_token
  end
end