Class: Increase::Client

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/increase/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config = nil) ⇒ Client

Returns a new instance of Client.



22
23
24
# File 'lib/increase/client.rb', line 22

def initialize(config = nil)
  @configuration = config.is_a?(Configuration) ? config : Configuration.new(config)
end

Instance Attribute Details

#configurationObject

Returns the value of attribute configuration.



15
16
17
# File 'lib/increase/client.rb', line 15

def configuration
  @configuration
end

Instance Method Details

#connectionObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/increase/client.rb', line 26

def connection
  Faraday.new(
    url: @configuration.base_url,
    headers: {
      Authorization: "Bearer #{@configuration.api_key}"
    }
  ) do |f|
    f.request :json

    if @configuration.raise_api_errors
      # This custom middleware for raising Increase API errors must be
      # located before the JSON response middleware.
      f.use FaradayMiddleware::RaiseIncreaseApiError
    end

    f.response :json
    f.response :follow_redirects
    f.adapter Faraday.default_adapter
  end
end