Module: Rainmaker::Configuration
- Included in:
- Rainmaker
- Defined in:
- lib/rainmaker/configuration.rb
Overview
Defines constants and methods related to configuration
Constant Summary collapse
- VALID_OPTIONS_KEYS =
An array of valid keys in the options hash when configuring a API
[ :adapter, :api_key, :timeout_seconds, :endpoint, :format, :gateway, :proxy, :linkedin_token, :twitter_token, :user_agent].freeze
- VALID_FORMATS =
An array of valid request/response formats
[ :json, :xml].freeze
- DEFAULT_ADAPTER =
Note:
The default faraday adapter is Net::HTTP.
The adapter that will be used to connect if none is set
Faraday.default_adapter
- DEFAULT_API_KEY =
By default, don’t set an application key
nil
- DEFAULT_TIMEOUT_SECONDS =
By default, don’t set a timeout
nil
- DEFAULT_ENDPOINT =
The endpoint that will be used to connect if none is set
'http://api.rainmaker.cc/v1/'.freeze
- DEFAULT_FORMAT =
Note:
JSON is preferred over XML because it is more concise and faster to parse.
The response format appended to the path and sent in the ‘Accept’ header if none is set
:json
- DEFAULT_PROXY =
By default, don’t use a proxy server
nil
- DEFAULT_LINKEDIN_TOKEN =
By default, no linkedin token
nil
- DEFAULT_TWITTER_TOKEN =
By default, no twitter token
nil
- DEFAULT_USER_AGENT =
The user agent that will be sent to the API endpoint if none is set
"Rainmaker Ruby Gem".freeze
- DEFAULT_GATEWAY =
nil
Class Method Summary collapse
-
.extended(base) ⇒ Object
When this module is extended, set all configuration options to their default values.
Instance Method Summary collapse
-
#configure {|_self| ... } ⇒ Object
Convenience method to allow configuration options to be set in a block.
-
#options ⇒ Object
Create a hash of options and their values.
-
#reset ⇒ Object
Reset all configuration options to defaults.
Class Method Details
.extended(base) ⇒ Object
When this module is extended, set all configuration options to their default values
62 63 64 |
# File 'lib/rainmaker/configuration.rb', line 62 def self.extended(base) base.reset end |
Instance Method Details
#configure {|_self| ... } ⇒ Object
Convenience method to allow configuration options to be set in a block
67 68 69 |
# File 'lib/rainmaker/configuration.rb', line 67 def configure yield self end |
#options ⇒ Object
Create a hash of options and their values
72 73 74 75 76 |
# File 'lib/rainmaker/configuration.rb', line 72 def = {} VALID_OPTIONS_KEYS.each{|k| [k] = send(k) } end |
#reset ⇒ Object
Reset all configuration options to defaults
79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/rainmaker/configuration.rb', line 79 def reset self.adapter = DEFAULT_ADAPTER self.api_key = DEFAULT_API_KEY self.endpoint = DEFAULT_ENDPOINT self.format = DEFAULT_FORMAT self.proxy = DEFAULT_PROXY self.user_agent = DEFAULT_USER_AGENT self.gateway = DEFAULT_GATEWAY self.timeout_seconds = DEFAULT_TIMEOUT_SECONDS self.twitter_token = DEFAULT_TWITTER_TOKEN self.linkedin_token = DEFAULT_LINKEDIN_TOKEN self end |