Class: Reactio::APIClient
- Inherits:
-
Object
- Object
- Reactio::APIClient
- Defined in:
- lib/reactio/api_client.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(http_client) ⇒ APIClient
constructor
A new instance of APIClient.
- #request(method, path, env = {}) ⇒ Object
Constructor Details
#initialize(http_client) ⇒ APIClient
Returns a new instance of APIClient.
29 30 31 |
# File 'lib/reactio/api_client.rb', line 29 def initialize(http_client) @http = http_client end |
Class Method Details
.build(api_key, organization) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/reactio/api_client.rb', line 10 def build(api_key, organization) raise ArgumentError, 'api_key is required' unless api_key raise ArgumentError, 'organization is required' unless organization http_client = build_http_client( api_key, APIEndpoint.new(organization) ) new(http_client) end |
.build_http_client(api_key, api_endpoint) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/reactio/api_client.rb', line 20 def build_http_client(api_key, api_endpoint) Faraday.new(url: api_endpoint.base_url) do |faraday| faraday.use :reactio, api_key faraday.request :url_encoded faraday.adapter Faraday.default_adapter end end |
Instance Method Details
#request(method, path, env = {}) ⇒ Object
33 34 35 36 |
# File 'lib/reactio/api_client.rb', line 33 def request(method, path, env = {}) response = @http.send(method, path, env[:body]) handle_api_response(response) end |