class Gurney::Api

Attributes

base_url[R]
token[R]

Public Class Methods

new(base_url:, token:) click to toggle source
# File lib/gurney/api.rb, line 7
def initialize(base_url:, token:)
  @base_url = base_url
  @token = token
end

Public Instance Methods

post_dependencies(dependencies:, branch:, project_id:) click to toggle source
# File lib/gurney/api.rb, line 12
def post_dependencies(dependencies:, branch:, project_id:)
  data = {
      dependencies: dependencies
  }
  url = base_url
  url.gsub! '<project_id>', CGI.escape(project_id)
  url.gsub! '<branch>', CGI.escape(branch)
  post_json(url, data.to_json)
end

Private Instance Methods

post_json(url, json) click to toggle source
# File lib/gurney/api.rb, line 26
def post_json(url, json)
  response = HTTParty.post(url,
    body: json,
    headers: { 'X-AuthToken' => @token,
      'Content-Type': 'application/json'},
  )
  unless response.success?
    if response.code == 404
      raise ApiError.new("#{response.code} api url is probably wrong")
    else
      raise ApiError.new("#{response.code} #{response.body}")
    end
  end
end