Class: BaremetricsAPI::Client
- Inherits:
-
Object
- Object
- BaremetricsAPI::Client
- Defined in:
- lib/baremetrics_api/client.rb
Instance Attribute Summary collapse
-
#configuration ⇒ Object
readonly
Returns the value of attribute configuration.
Instance Method Summary collapse
-
#configure {|Configuration| ... } ⇒ Object
Configure the API client.
-
#connection ⇒ Object
Returns the raw Faraday connection configured using the current configuration.
-
#initialize(options = nil) ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize(options = nil) ⇒ Client
Returns a new instance of Client.
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/baremetrics_api/client.rb', line 17 def initialize( = nil) @configuration = nil append_request_methods_to_class return if .nil? @configuration = Configuration.new() ensure_valid_configuration end |
Instance Attribute Details
#configuration ⇒ Object (readonly)
Returns the value of attribute configuration.
15 16 17 |
# File 'lib/baremetrics_api/client.rb', line 15 def configuration @configuration end |
Instance Method Details
#configure {|Configuration| ... } ⇒ Object
Configure the API client
35 36 37 38 39 40 41 42 |
# File 'lib/baremetrics_api/client.rb', line 35 def configure raise Error::AlreadyConfigured unless @configuration.nil? @configuration = Configuration.new yield(@configuration) ensure_valid_configuration end |
#connection ⇒ Object
Returns the raw Faraday connection configured using the current configuration
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/baremetrics_api/client.rb', line 45 def connection ensure_valid_configuration host = configuration.sandbox ? Constants::SANDBOX_API_HOST : Constants::API_HOST Faraday.new(host, headers: { authorization: "Bearer #{configuration.api_key}", content_type: 'application/json', accept: 'application/json' }) do |f| f.request :json f.response :logger if configuration.log_traffic f.use Faraday::RateChecker f.adapter :httpclient end end |