Class: Retab::BaseClient
- Inherits:
-
Object
- Object
- Retab::BaseClient
- Defined in:
- lib/retab/base_client.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#configuration ⇒ Object
readonly
Returns the value of attribute configuration.
Instance Method Summary collapse
- #api_host ⇒ Object
- #api_key ⇒ Object
-
#initialize(api_key: nil, api_host: nil, base_url: nil, configuration: nil, **opts) ⇒ BaseClient
constructor
A new instance of BaseClient.
-
#request(method:, path:, auth: true, params: nil, body: nil, request_options: {}) ⇒ Object
Issue an HTTP request.
Constructor Details
#initialize(api_key: nil, api_host: nil, base_url: nil, configuration: nil, **opts) ⇒ BaseClient
Returns a new instance of BaseClient.
24 25 26 27 28 |
# File 'lib/retab/base_client.rb', line 24 def initialize(api_key: nil, api_host: nil, base_url: nil, configuration: nil, **opts) @configuration = configuration || Configuration.new(api_key: api_key, api_host: api_host, base_url: base_url, **opts) raise ConfigurationError, "api_key is required" if @configuration.api_key.nil? end |
Instance Attribute Details
#configuration ⇒ Object (readonly)
Returns the value of attribute configuration.
22 23 24 |
# File 'lib/retab/base_client.rb', line 22 def configuration @configuration end |
Instance Method Details
#api_host ⇒ Object
34 35 36 |
# File 'lib/retab/base_client.rb', line 34 def api_host @configuration.api_host end |
#api_key ⇒ Object
30 31 32 |
# File 'lib/retab/base_client.rb', line 30 def api_key @configuration.api_key end |
#request(method:, path:, auth: true, params: nil, body: nil, request_options: {}) ⇒ Object
Issue an HTTP request. Returns the raw ‘Net::HTTPResponse` so the spec-derived caller can read `.body`, `.code`, headers, and the `x-request-id`.
41 42 43 44 45 46 47 |
# File 'lib/retab/base_client.rb', line 41 def request(method:, path:, auth: true, params: nil, body: nil, request_options: {}) uri = build_uri(path, params) req = build_request(method, uri, body: body, auth: auth, request_options: ) response = perform(uri, req, request_options: ) raise_for_status(response) response end |