Class: Supportify::Configuration
- Inherits:
-
Object
- Object
- Supportify::Configuration
- Includes:
- Singleton
- Defined in:
- lib/supportify_client/configuration.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Default api client.
-
#api_key ⇒ Hash
Defines API keys used with API Key authentications.
-
#api_key_prefix ⇒ Hash
Defines API key prefixes used with API Key authentications.
-
#base_path ⇒ Object
Defines url base path.
-
#debugging ⇒ true, false
Set this to enable/disable debugging.
-
#force_ending_format ⇒ Object
Returns the value of attribute force_ending_format.
-
#host ⇒ Object
Defines url host.
-
#inject_format ⇒ Object
Returns the value of attribute inject_format.
-
#logger ⇒ #debug
Defines the logger used for debugging.
-
#password ⇒ String
Defines the password used with HTTP basic authentication.
-
#scheme ⇒ Object
Defines url scheme.
-
#ssl_ca_cert ⇒ String
Set this to customize the certificate file to verify the peer.
-
#temp_folder_path ⇒ String
Defines the temporary folder to store downloaded files (for API endpoints that have file response).
-
#username ⇒ String
Defines the username used with HTTP basic authentication.
-
#verify_ssl ⇒ true, false
Set this to false to skip verifying SSL certificate when calling API from https server.
Class Method Summary collapse
Instance Method Summary collapse
- #account_api_key ⇒ Object
- #account_api_key=(value) ⇒ Object
-
#api_key_with_prefix(param_name) ⇒ Object
Gets API key (with prefix if set).
- #application_api_key ⇒ Object
- #application_api_key=(value) ⇒ Object
-
#auth_settings ⇒ Object
Returns Auth Settings hash for api client.
- #base_url ⇒ Object
-
#basic_auth_token ⇒ Object
Gets Basic Auth token string.
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/supportify_client/configuration.rb', line 98 def initialize @scheme = 'https' @host = 'api.supportify.io' @base_path = '/v2' @api_key = {} @api_key_prefix = {} @verify_ssl = true @debugging = false @inject_format = false @force_ending_format = false @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT) end |
Instance Attribute Details
#api_client ⇒ Object
Default api client
10 11 12 |
# File 'lib/supportify_client/configuration.rb', line 10 def api_client @api_client end |
#api_key ⇒ Hash
Defines API keys used with API Key authentications.
27 28 29 |
# File 'lib/supportify_client/configuration.rb', line 27 def api_key @api_key end |
#api_key_prefix ⇒ Hash
Defines API key prefixes used with API Key authentications.
35 36 37 |
# File 'lib/supportify_client/configuration.rb', line 35 def api_key_prefix @api_key_prefix end |
#base_path ⇒ Object
Defines url base path
19 20 21 |
# File 'lib/supportify_client/configuration.rb', line 19 def base_path @base_path end |
#debugging ⇒ true, false
Set this to enable/disable debugging. When enabled (set to true), HTTP request/response details will be logged with ‘logger.debug` (see the `logger` attribute). Default to false.
52 53 54 |
# File 'lib/supportify_client/configuration.rb', line 52 def debugging @debugging end |
#force_ending_format ⇒ Object
Returns the value of attribute force_ending_format.
85 86 87 |
# File 'lib/supportify_client/configuration.rb', line 85 def force_ending_format @force_ending_format end |
#host ⇒ Object
Defines url host
16 17 18 |
# File 'lib/supportify_client/configuration.rb', line 16 def host @host end |
#inject_format ⇒ Object
Returns the value of attribute inject_format.
83 84 85 |
# File 'lib/supportify_client/configuration.rb', line 83 def inject_format @inject_format end |
#logger ⇒ #debug
Defines the logger used for debugging. Default to ‘Rails.logger` (when in Rails) or logging to STDOUT.
58 59 60 |
# File 'lib/supportify_client/configuration.rb', line 58 def logger @logger end |
#password ⇒ String
Defines the password used with HTTP basic authentication.
45 46 47 |
# File 'lib/supportify_client/configuration.rb', line 45 def password @password end |
#scheme ⇒ Object
Defines url scheme
13 14 15 |
# File 'lib/supportify_client/configuration.rb', line 13 def scheme @scheme end |
#ssl_ca_cert ⇒ String
Set this to customize the certificate file to verify the peer.
github.com/typhoeus/typhoeus/blob/master/lib/typhoeus/easy_factory.rb#L145
81 82 83 |
# File 'lib/supportify_client/configuration.rb', line 81 def ssl_ca_cert @ssl_ca_cert end |
#temp_folder_path ⇒ String
Defines the temporary folder to store downloaded files (for API endpoints that have file response). Default to use ‘Tempfile`.
65 66 67 |
# File 'lib/supportify_client/configuration.rb', line 65 def temp_folder_path @temp_folder_path end |
#username ⇒ String
Defines the username used with HTTP basic authentication.
40 41 42 |
# File 'lib/supportify_client/configuration.rb', line 40 def username @username end |
#verify_ssl ⇒ true, false
Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
Set this to false to skip verifying SSL certificate when calling API from https server. Default to true.
73 74 75 |
# File 'lib/supportify_client/configuration.rb', line 73 def verify_ssl @verify_ssl end |
Class Method Details
.method_missing(method_name, *args, &block) ⇒ Object
88 89 90 91 92 93 94 95 |
# File 'lib/supportify_client/configuration.rb', line 88 def method_missing(method_name, *args, &block) config = Configuration.instance if config.respond_to?(method_name) config.send(method_name, *args, &block) else super end end |
Instance Method Details
#account_api_key ⇒ Object
155 156 157 |
# File 'lib/supportify_client/configuration.rb', line 155 def account_api_key @api_key['X-SUPPORTIFY-APIKEY'] end |
#account_api_key=(value) ⇒ Object
151 152 153 |
# File 'lib/supportify_client/configuration.rb', line 151 def account_api_key=(value) @api_key['X-SUPPORTIFY-APIKEY'] = value end |
#api_key_with_prefix(param_name) ⇒ Object
Gets API key (with prefix if set).
138 139 140 141 142 143 144 |
# File 'lib/supportify_client/configuration.rb', line 138 def api_key_with_prefix(param_name) if @api_key_prefix[param_name] "#{@api_key_prefix[param_name]} #{@api_key[param_name]}" else @api_key[param_name] end end |
#application_api_key ⇒ Object
163 164 165 |
# File 'lib/supportify_client/configuration.rb', line 163 def application_api_key @api_key['X-SUPPORTIFY-APPKEY'] end |
#application_api_key=(value) ⇒ Object
159 160 161 |
# File 'lib/supportify_client/configuration.rb', line 159 def application_api_key=(value) @api_key['X-SUPPORTIFY-APPKEY'] = value end |
#auth_settings ⇒ Object
Returns Auth Settings hash for api client.
168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
# File 'lib/supportify_client/configuration.rb', line 168 def auth_settings { 'api_key' => { type: 'api_key', in: 'header', key: 'X-SUPPORTIFY-APIKEY', value: api_key_with_prefix('X-SUPPORTIFY-APIKEY') }, 'app_key' => { type: 'api_key', in: 'header', key: 'X-SUPPORTIFY-APPKEY', value: api_key_with_prefix('X-SUPPORTIFY-APPKEY') }, } end |
#base_url ⇒ Object
131 132 133 134 |
# File 'lib/supportify_client/configuration.rb', line 131 def base_url url = "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}" URI.encode(url) end |
#basic_auth_token ⇒ Object
Gets Basic Auth token string
147 148 149 |
# File 'lib/supportify_client/configuration.rb', line 147 def basic_auth_token 'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n") end |