Sha256: 945555cf5f273cf716a4a71875bc8de6380548ed3b9e0e4d6a0f32fb30c6beb4

Contents?: true

Size: 1.67 KB

Versions: 24

Compression:

Stored size: 1.67 KB

Contents

module ZendeskAPI
  # Holds the configuration options for the client and connection
  class Configuration
    # @return [String] The basic auth username.
    attr_accessor :username

    # @return [String] The basic auth password.
    attr_accessor :password

    # @return [String] The basic auth token.
    attr_accessor :token

    # @return [String] The API url. Must be https unless {#allow_http} is set.
    attr_accessor :url

    # @return [Boolean] Whether to attempt to retry when rate-limited (http status: 429).
    attr_accessor :retry

    # @return [Logger] Logger to use when logging requests.
    attr_accessor :logger

    # @return [Hash] Client configurations (eg ssh config) to pass to Faraday
    attr_accessor :client_options

    # @return [Symbol] Faraday adapter
    attr_accessor :adapter

    # @return [Boolean] Whether to allow non-HTTPS connections for development purposes.
    attr_accessor :allow_http

    # 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
    # @return [ZendeskAPI::LRUCache]
    attr_accessor :cache

    def initialize
      @client_options = {}
      self.cache = ZendeskAPI::LRUCache.new(1000)
    end

    # Sets accept and user_agent headers, and url.
    #
    # @return [Hash] Faraday-formatted hash of options.
    def options
      {
        :headers => {
          :accept => 'application/json',
          :accept_encoding => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
          :user_agent => "ZendeskAPI API #{ZendeskAPI::VERSION}"
        },
        :url => @url
      }.merge(client_options)
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
zendesk_api-0.3.14 lib/zendesk_api/configuration.rb
zendesk_api-0.3.13 lib/zendesk_api/configuration.rb
zendesk_api-0.3.12 lib/zendesk_api/configuration.rb
zendesk_api-0.3.11 lib/zendesk_api/configuration.rb
zendesk_api-0.3.10 lib/zendesk_api/configuration.rb
zendesk_api-0.3.9 lib/zendesk_api/configuration.rb
zendesk_api-0.3.8 lib/zendesk_api/configuration.rb
zendesk_api-0.3.7 lib/zendesk_api/configuration.rb
zendesk_api-0.3.6 lib/zendesk_api/configuration.rb
zendesk_api-0.3.5 lib/zendesk_api/configuration.rb
zendesk_api-0.3.4 lib/zendesk_api/configuration.rb
zendesk_api-0.3.3 lib/zendesk_api/configuration.rb
zendesk_api-0.3.2 lib/zendesk_api/configuration.rb
zendesk_api-0.3.1 lib/zendesk_api/configuration.rb
zendesk_api-0.3.0 lib/zendesk_api/configuration.rb
zendesk_api-0.2.6 lib/zendesk_api/configuration.rb
zendesk_api-0.2.5 lib/zendesk_api/configuration.rb
zendesk_api-0.2.4 lib/zendesk_api/configuration.rb
zendesk_api-0.2.2 lib/zendesk_api/configuration.rb
zendesk_api-0.2.1 lib/zendesk_api/configuration.rb