Class: Termworld::Utils::ApiClient

Inherits:
Object
  • Object
show all
Defined in:
lib/termworld/utils/api_client.rb

Instance Method Summary collapse

Constructor Details

#initializeApiClient

Returns a new instance of ApiClient.



7
8
9
# File 'lib/termworld/utils/api_client.rb', line 7

def initialize
  @client = HTTPClient.new
end

Instance Method Details

#call(method, url, params = nil) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/termworld/utils/api_client.rb', line 11

def call(method, url, params = nil)
  if method == :get
    res = @client.get(Termworld::API_ENDPOINT + url, query: params)
  else
    res = @client.send(method, Termworld::API_ENDPOINT + url, body: params)
  end
  res
end

#call_auth(method, url, params = nil) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/termworld/utils/api_client.rb', line 20

def call_auth(method, url, params = nil)
  email, token = Credential.get_credential
  headers = {
    'X-Termworld-Email': email,
    'X-Termworld-Token': token,
  }
  if method == :get
    res = @client.get(Termworld::API_ENDPOINT + url, query: params, header: headers)
  else
    res = @client.send(method, Termworld::API_ENDPOINT + url, body: params, header: headers)
  end
  res
end