module RandomApi::Configuration

Defines constants and methods related to configuration

Constants

DEFAULT_ADAPTER

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

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

DEFAULT_API_ID

By default, don’t set api id

DEFAULT_API_KEY

By default, don’t set api key

DEFAULT_CONNECTION_OPTIONS

By default, don’t set any connection options

DEFAULT_ENDPOINT

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

@note There is no reason to use any other endpoint at this time

DEFAULT_FORMAT

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

@note JSON is the only available format at this time

DEFAULT_PROXY

By default, don’t use a proxy server

DEFAULT_USER_AGENT
VALID_FORMATS

An array of valid request/response formats

VALID_OPTIONS_KEYS

An array of valid keys in the options hash when configuring 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/randomapi/configuration.rb, line 56
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/randomapi/configuration.rb, line 61
def configure
  yield self
end
options() click to toggle source

Create a hash of options and their values

# File lib/randomapi/configuration.rb, line 66
def options
  VALID_OPTIONS_KEYS.inject({}) do |option, key|
    option.merge!(key => send(key))
  end
end
reset() click to toggle source

Reset all configuration options to defaults

# File lib/randomapi/configuration.rb, line 73
def reset
  self.api_key            = DEFAULT_API_KEY
  self.api_id             = DEFAULT_API_ID
  self.adapter            = DEFAULT_ADAPTER
  self.connection_options = DEFAULT_CONNECTION_OPTIONS
  self.endpoint           = DEFAULT_ENDPOINT
  self.format             = DEFAULT_FORMAT
  self.proxy              = DEFAULT_PROXY
  self.user_agent         = DEFAULT_USER_AGENT
end