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.



45
46
47
48
49
# File 'lib/zendesk_api/configuration.rb', line 45

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



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

def access_token
  @access_token
end

#adapterSymbol

Returns Faraday adapter.

Returns:

  • (Symbol)

    Faraday adapter



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

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.



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

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



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

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



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

def client_options
  @client_options
end

#loggerLogger

Returns Logger to use when logging requests.

Returns:

  • (Logger)

    Logger to use when logging requests.



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

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

#raise_error_when_rate_limitedBoolean

Returns Whether to raise error when rate-limited (http status: 429).

Returns:

  • (Boolean)

    Whether to raise error when rate-limited (http status: 429).



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

def raise_error_when_rate_limited
  @raise_error_when_rate_limited
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.



37
38
39
# File 'lib/zendesk_api/configuration.rb', line 37

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.



54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/zendesk_api/configuration.rb', line 54

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,
      :timeout => 60
    },
    :url => @url
  }.merge(client_options)
end