Class: ZendeskAPI::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/zendesk_api/configuration.rb

Overview

Holds the configuration options for the client and connection

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration


42
43
44
45
46
# File 'lib/zendesk_api/configuration.rb', line 42

def initialize
  @client_options = {}

  self.cache = ZendeskAPI::LRUCache.new(1000)
end

Instance Attribute Details

#access_tokenString

Returns OAuth2 access_token

Returns:

  • (String)

    OAuth2 access_token


32
33
34
# File 'lib/zendesk_api/configuration.rb', line 32

def access_token
  @access_token
end

#adapterSymbol

Returns Faraday adapter

Returns:

  • (Symbol)

    Faraday adapter


26
27
28
# File 'lib/zendesk_api/configuration.rb', line 26

def adapter
  @adapter
end

#allow_httpBoolean

Returns Whether to allow non-HTTPS connections for development purposes.

Returns:

  • (Boolean)

    Whether to allow non-HTTPS connections for development purposes.


29
30
31
# File 'lib/zendesk_api/configuration.rb', line 29

def allow_http
  @allow_http
end

#cacheZendeskAPI::LRUCache

Use this cache instead of default ZendeskAPI::LRUCache.new

  • must respond to read/write/fetch e.g. ActiveSupport::Cache::MemoryStore.new)

  • pass false to disable caching


40
41
42
# File 'lib/zendesk_api/configuration.rb', line 40

def cache
  @cache
end

#client_optionsHash

Returns Client configurations (eg ssh config) to pass to Faraday

Returns:

  • (Hash)

    Client configurations (eg ssh config) to pass to Faraday


23
24
25
# File 'lib/zendesk_api/configuration.rb', line 23

def client_options
  @client_options
end

#loggerLogger

Returns Logger to use when logging requests.

Returns:

  • (Logger)

    Logger to use when logging requests.


20
21
22
# File 'lib/zendesk_api/configuration.rb', line 20

def logger
  @logger
end

#passwordString

Returns The basic auth password.

Returns:

  • (String)

    The basic auth password.


8
9
10
# File 'lib/zendesk_api/configuration.rb', line 8

def password
  @password
end

#retryBoolean

Returns Whether to attempt to retry when rate-limited (http status: 429).

Returns:

  • (Boolean)

    Whether to attempt to retry when rate-limited (http status: 429).


17
18
19
# File 'lib/zendesk_api/configuration.rb', line 17

def retry
  @retry
end

#tokenString

Returns The basic auth token.

Returns:

  • (String)

    The basic auth token.


11
12
13
# File 'lib/zendesk_api/configuration.rb', line 11

def token
  @token
end

#urlString

Returns The API url. Must be https unless #allow_http is set.

Returns:

  • (String)

    The API url. Must be https unless #allow_http is set.


14
15
16
# File 'lib/zendesk_api/configuration.rb', line 14

def url
  @url
end

#url_based_access_tokenObject

Returns the value of attribute url_based_access_token


34
35
36
# File 'lib/zendesk_api/configuration.rb', line 34

def url_based_access_token
  @url_based_access_token
end

#usernameString

Returns The basic auth username.

Returns:

  • (String)

    The basic auth username.


5
6
7
# File 'lib/zendesk_api/configuration.rb', line 5

def username
  @username
end

Instance Method Details

#optionsHash

Sets accept and user_agent headers, and url.

Returns:

  • (Hash)

    Faraday-formatted hash of options.


51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/zendesk_api/configuration.rb', line 51

def options
  {
    :headers => {
      :accept => 'application/json',
      :accept_encoding => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
      :user_agent => "ZendeskAPI Ruby #{ZendeskAPI::VERSION}"
    },
    :request => {
      :open_timeout => 10
    },
    :url => @url
  }.merge(client_options)
end