Class: Scrutinizer::Ocular::ApiClient
- Inherits:
-
Object
- Object
- Scrutinizer::Ocular::ApiClient
- Defined in:
- lib/scrutinizer/ocular/api_client.rb
Instance Method Summary collapse
-
#initialize(api_url, repository_name, revision, parents, access_token) ⇒ ApiClient
constructor
A new instance of ApiClient.
- #upload(format, data) ⇒ Object
Constructor Details
#initialize(api_url, repository_name, revision, parents, access_token) ⇒ ApiClient
Returns a new instance of ApiClient.
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/scrutinizer/ocular/api_client.rb', line 17 def initialize(api_url, repository_name, revision, parents, access_token) @api_url = api_url @repository_name = repository_name @revision = revision @parents = parents @access_token = access_token @http = create_http_service(@api_url) disable_net_blockers! end |
Instance Method Details
#upload(format, data) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/scrutinizer/ocular/api_client.rb', line 28 def upload(format, data) uri_str = @api_url + '/repositories/' + @repository_name + '/data/code-coverage' unless @access_token.nil? uri_str += '?access_token=' + @access_token end uri = URI.parse(uri_str) request = Net::HTTP::Post.new(uri.request_uri) request.add_field('Content-Type', 'application/json') request.body = { :revision => @revision, :parents => @parents, :coverage => { :format => format, :data => Base64.encode64(data) } }.to_json response = @http.request(request) if response.code.to_i < 200 || response.code.to_i >= 300 raise UploadFailed.new(response), "Upload failed with status #{response.code}" end end |