class AxTrack::Client

Constants

APIKeyMissing

Attributes

adapter[R]
api_key[R]
connection[W]

Public Class Methods

new(api_key: nil, adapter: nil, stubs: nil) click to toggle source
# File lib/ax_track/client.rb, line 12
def initialize(api_key: nil, adapter: nil, stubs: nil)
  @api_key  = api_key&.strip || ENV['AXTRACK_API_KEY']&.strip
  @adapter  = adapter || Faraday.default_adapter
  @stubs    = stubs

  raise APIKeyMissing, "No API key provided" if !defined?(api_key) || api_key.nil? ||  api_key.empty?
end

Public Instance Methods

assets() click to toggle source
# File lib/ax_track/client.rb, line 25
def assets
  AssetResource.new(self)
end
connection() click to toggle source
# File lib/ax_track/client.rb, line 29
def connection
  @connection ||= Faraday.new(AxTrack.base_url_api) do |conn|
    #conn.request :url_encoded
    conn.request :json
    conn.response :json, content_type: 'application/json'
    conn.adapter adapter, @stubs
    conn.headers['Authorization'] = "Token #{api_key}" unless api_key.empty?
    conn.options.timeout = 20
  end
end
trackers() click to toggle source
# File lib/ax_track/client.rb, line 20
def trackers
  TrackerResource.new(self)
end