Class: Tazworks::RestClient

Inherits:
Object
  • Object
show all
Defined in:
lib/tazworks/rest_client.rb

Overview

Wrapper for rest-client

Class Method Summary collapse

Class Method Details

.get(uri, headers = {}) ⇒ Object



23
24
25
# File 'lib/tazworks/rest_client.rb', line 23

def self.get(uri, headers = {})
  ::RestClient.get(url(uri), merged_headers(headers))
end

.merged_headers(headers) ⇒ Object

Raises:

  • (ArgumentError)


13
14
15
16
17
18
19
20
21
# File 'lib/tazworks/rest_client.rb', line 13

def self.merged_headers(headers)
  raise ArgumentError, 'api_key is not set in Tazworks configuration' unless Tazworks.config.api_key

  default_headers = {
    'Content-Type': 'application/json',
    Authorization: "Bearer #{Tazworks.config.api_key}"
  }
  default_headers.merge(headers)
end

.post(uri, payload, headers = {}) ⇒ Object



27
28
29
# File 'lib/tazworks/rest_client.rb', line 27

def self.post(uri, payload, headers = {})
  ::RestClient.post(url(uri), payload.to_json, merged_headers(headers))
end

.url(uri) ⇒ Object



9
10
11
# File 'lib/tazworks/rest_client.rb', line 9

def self.url(uri)
  "#{Tazworks.config.base_uri}#{uri}"
end