Sha256: 3ce981f7de198cd1003a43138fc81255869391a249df3d106526bafcfdcd823a

Contents?: true

Size: 918 Bytes

Versions: 1

Compression:

Stored size: 918 Bytes

Contents

# frozen_string_literal: true

module Bugscriber
  class Client
    BASE_URL = 'https://bugscriber-api.herokuapp.com'
    AUTHORIZATION_HEADER_KEY = 'X-API-KEY'

    attr_reader :adapter, :stubs

    def initialize(adapter: Faraday.default_adapter, stubs: nil)
      @adapter = adapter
      @stubs = stubs
    end

    def connection
      @connection ||= Faraday.new(BASE_URL) do |conn|
        conn.request :json
        conn.response :json, content_type: 'application/json'
        unless Bugscriber.config.logger.blank?
          conn.response :logger, Bugscriber.config.logger, body: true,
                                                           bodies: { request: true, response: true }
        end
        conn.headers[AUTHORIZATION_HEADER_KEY] = Bugscriber.config.api_key
        conn.adapter adapter, stubs
      end
    end

    def tracks
      Bugscriber::Resources::Tracks.new(self)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bugscriber-0.1.0 lib/bugscriber/client.rb