Sha256: 488154cbda5e01a34e2ea8794a46869c194e8a83c30ab1e174334dbf90c0877c

Contents?: true

Size: 799 Bytes

Versions: 4

Compression:

Stored size: 799 Bytes

Contents

# frozen_string_literal: true

require 'faraday'

module CustomerioAPI
  class V1Client
    BASE_URL = 'https://api.customer.io/v1/'
    attr_reader :api_key, :adapter

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

    def customer
      CustomerResource.new(self)
    end

    def object
      CustomerioObjectResource.new(self)
    end

    def object_relationship
      ObjectRelationshipResource.new(self)
    end

    def connection
      @connection ||= Faraday.new do |conn|
        conn.url_prefix = BASE_URL
        conn.request :json
        conn.response :json, content_type: 'application/json'
        conn.adapter adapter
        conn.headers['Authorization'] = "Bearer #{api_key}"
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
customerio_api-0.5.0 lib/customerio_api/v1_client.rb
customerio_api-0.4.0 lib/customerio_api/v1_client.rb
customerio_api-0.3.0 lib/customerio_api/v1_client.rb
customerio_api-0.2.0 lib/customerio_api/v1_client.rb