Class: VSTS::APIClient
- Inherits:
-
Object
- Object
- VSTS::APIClient
- Defined in:
- lib/vsts/api_client.rb
Overview
API client for Visual Studio Team Services (VSTS) Manages access tokens and API versions, builds proper requests as expected by the VSTS API
Class Method Summary collapse
-
.delete(resource, opts = {}) ⇒ Hash
Helper method for DELETE requests, calls #request.
-
.get(resource, opts = {}) ⇒ Hash
Helper method for GET requests, calls #request.
-
.patch(resource, payload, opts = {}) ⇒ Hash
Helper method for PATCH requests, calls #request.
-
.post(resource, payload, opts = {}) ⇒ Hash
Helper method for POST requests, calls #request.
-
.put(resource, payload, opts = {}) ⇒ Hash
Helper method for PUT requests, calls #request.
-
.request(method, resource, opts = {}) ⇒ Hash
Make an API request.
Class Method Details
.delete(resource, opts = {}) ⇒ Hash
Helper method for DELETE requests, calls #request
85 86 87 |
# File 'lib/vsts/api_client.rb', line 85 def self.delete(resource, opts = {}) request(:delete, resource, opts) end |
.get(resource, opts = {}) ⇒ Hash
Helper method for GET requests, calls #request
43 44 45 |
# File 'lib/vsts/api_client.rb', line 43 def self.get(resource, opts = {}) request(:get, resource, opts) end |
.patch(resource, payload, opts = {}) ⇒ Hash
Helper method for PATCH requests, calls #request
75 76 77 78 |
# File 'lib/vsts/api_client.rb', line 75 def self.patch(resource, payload, opts = {}) opts[:payload] = payload request(:patch, resource, opts) end |
.post(resource, payload, opts = {}) ⇒ Hash
Helper method for POST requests, calls #request
53 54 55 56 |
# File 'lib/vsts/api_client.rb', line 53 def self.post(resource, payload, opts = {}) opts[:payload] = payload request(:post, resource, opts) end |
.put(resource, payload, opts = {}) ⇒ Hash
Helper method for PUT requests, calls #request
64 65 66 67 |
# File 'lib/vsts/api_client.rb', line 64 def self.put(resource, payload, opts = {}) opts[:payload] = payload request(:put, resource, opts) end |
.request(method, resource, opts = {}) ⇒ Hash
Make an API request
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/vsts/api_client.rb', line 21 def self.request(method, resource, opts = {}) url = build_url(resource, opts) VSTS.logger.debug("VSTS request: #{method} #{url}") if VSTS.configuration.debug req = { method: method, url: url, payload: opts[:payload], headers: { Authorization: authz_header_value, Accept: "application/json", "Content-Type" => "application/json" } } resp = RestClient::Request.execute(req) APIResponse.new(req, resp) end |