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

#initialize ⇒ Configuration

Returns a new instance of Configuration.



60
61
62
63
64
65
# File 'lib/zendesk_api/configuration.rb', line 60

def initialize
  @client_options = {}
  @use_resource_cache = true

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

Instance Attribute Details

#access_token ⇒ String

Returns OAuth2 access_token.

Returns:

  • (String) —

    OAuth2 access_token



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

def access_token
  @access_token
end

#adapter ⇒ Symbol

Returns Faraday adapter.

Returns:

  • (Symbol) —

    Faraday adapter



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

def adapter
  @adapter
end

#adapter_proc ⇒ Proc

Returns Faraday adapter proc.

Returns:

  • (Proc) —

    Faraday adapter proc



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

def adapter_proc
  @adapter_proc
end

#allow_http ⇒ Boolean

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

Returns:

  • (Boolean) —

    Whether to allow non-HTTPS connections for development purposes.



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

def allow_http
  @allow_http
end

#cache ⇒ ZendeskAPI::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


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

def cache
  @cache
end

#client_options ⇒ Hash

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

#instrumentation ⇒ Object

specify if you want instrumentation to be used



58
59
60
# File 'lib/zendesk_api/configuration.rb', line 58

def instrumentation
  @instrumentation
end

#logger ⇒ Logger

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

#password ⇒ String

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_limited ⇒ Boolean

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

#retry ⇒ Boolean

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

#retry_codes ⇒ Object

specify the server error codes in which you want a retry to be attempted



52
53
54
# File 'lib/zendesk_api/configuration.rb', line 52

def retry_codes
  @retry_codes
end

#retry_on_exception ⇒ Object

specify if you want a (network layer) exception to elicit a retry



55
56
57
# File 'lib/zendesk_api/configuration.rb', line 55

def retry_on_exception
  @retry_on_exception
end

#token ⇒ String

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

#url ⇒ String

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_token ⇒ Object

Returns the value of attribute url_based_access_token.



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

def url_based_access_token
  @url_based_access_token
end

#use_resource_cache ⇒ Boolean

Returns Whether to use resource_cache or not.

Returns:

  • (Boolean) —

    Whether to use resource_cache or not



49
50
51
# File 'lib/zendesk_api/configuration.rb', line 49

def use_resource_cache
  @use_resource_cache
end

#username ⇒ String

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

#options ⇒ Hash

Sets accept and user_agent headers, and url.

Returns:

  • (Hash) —

    Faraday-formatted hash of options.



70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/zendesk_api/configuration.rb', line 70

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