module FullContact::Configuration

Defines constants and methods related to configuration

Constants

AUTH_HEADER_NAME
DEFAULT_ADAPTER

The adapter that will be used to connect if none is set

@note The default faraday adapter is Net::HTTP.

DEFAULT_API_KEY

By default, don't set an application key

DEFAULT_AUTH_TYPE

By default, use query parameters

DEFAULT_ENDPOINT

The endpoint that will be used to connect if none is set

DEFAULT_FORMAT

The response format appended to the path and sent in the 'Accept' header if none is set

@note JSON is preferred over XML because it is more concise and faster to parse.

DEFAULT_GATEWAY
DEFAULT_INCLUDE_HEADERS_IN_RESPONSE

Includes response headers

DEFAULT_PROXY

By default, don't use a proxy server

DEFAULT_SKIP_RUBYIZE

Default transformation done to response

DEFAULT_USER_AGENT

The user agent that will be sent to the API endpoint if none is set

VALID_FORMATS

An array of valid request/response formats

VALID_OPTIONS_KEYS

An array of valid keys in the options hash when configuring a {FullContact::API}

Public Class Methods

extended(base) click to toggle source

When this module is extended, set all configuration options to their default values

# File lib/fullcontact/configuration.rb, line 63
def self.extended(base)
  base.reset
end

Public Instance Methods

configure() { |self| ... } click to toggle source

Convenience method to allow configuration options to be set in a block

# File lib/fullcontact/configuration.rb, line 68
def configure
  yield self
end
options() click to toggle source

Create a hash of options and their values

# File lib/fullcontact/configuration.rb, line 73
def options
  options = {}
  VALID_OPTIONS_KEYS.each { |k| options[k] = send(k) }
  options
end
reset() click to toggle source

Reset all configuration options to defaults

# File lib/fullcontact/configuration.rb, line 80
def reset
  self.adapter = DEFAULT_ADAPTER
  self.api_key = DEFAULT_API_KEY
  self.auth_type = DEFAULT_AUTH_TYPE
  self.endpoint = DEFAULT_ENDPOINT
  self.format = DEFAULT_FORMAT
  self.skip_rubyize = DEFAULT_SKIP_RUBYIZE
  self.include_headers_in_response = DEFAULT_INCLUDE_HEADERS_IN_RESPONSE
  self.proxy = DEFAULT_PROXY
  self.user_agent = DEFAULT_USER_AGENT
  self.gateway = DEFAULT_GATEWAY
  self
end