Module: TreezorConnect::ApiOperations::Request::ClassMethods

Defined in:
lib/treezor_connect/api_operations/request.rb

Instance Method Summary collapse

Instance Method Details

#extract_response_data(response, extract_all_objects: true) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/treezor_connect/api_operations/request.rb', line 23

def extract_response_data(response, extract_all_objects: true)
  if defined?(self::OBJECT_KEY) && response.data.key?(self::OBJECT_KEY)
    objects = response.data.fetch(self::OBJECT_KEY)
    return objects if extract_all_objects

    return objects[0]
  end

  response.data
end

#parallel_request(method, url, params_list: {}, headers: {}, access_token: nil) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/treezor_connect/api_operations/request.rb', line 14

def parallel_request(method, url, params_list: {}, headers: {}, access_token: nil)
  params_list = params_list.map { |params| Util.normalize_params(params) }
  client = TreezorConnect::Client.new(access_token)
  responses = client.execute_parallel_requests(method, url, headers:, params_list:)
  responses.map do |response|
    response.is_a?(ApiError) ? response : TreezorResponse.from_http_response(response)
  end
end

#request(method, url, params: {}, headers: {}, access_token: nil) ⇒ Object



7
8
9
10
11
12
# File 'lib/treezor_connect/api_operations/request.rb', line 7

def request(method, url, params: {}, headers: {}, access_token: nil)
  params = Util.normalize_params(params)
  client = TreezorConnect::Client.new(access_token)
  response = client.execute_request(method, url, headers:, params:)
  TreezorResponse.from_http_response(response)
end