class Cb::Client

Attributes

callback_block[R]

Public Class Methods

new(&block) click to toggle source
# File lib/cb/client.rb, line 15
def initialize(&block)
  @callback_block = block
end

Public Instance Methods

execute(request) click to toggle source
# File lib/cb/client.rb, line 19
def execute(request)
  api_response = call_api(request)
  response_class = Cb::Utils::ResponseMap.response_for(request.class)
  response_class.new api_response
end

Private Instance Methods

call_api(request) click to toggle source
# File lib/cb/client.rb, line 27
def call_api(request)
  http_wrapper.timed_http_request(
    request.http_method,
    request.base_uri,
    request.endpoint_uri,
    {
      query: request.query,
      headers: request.headers,
      body: request.body
    },
    &@callback_block)
end
http_wrapper() click to toggle source
# File lib/cb/client.rb, line 40
def http_wrapper
  Cb::Utils::Api.instance
end