Class: ZipMoney::Configuration
- Inherits:
-
Object
- Object
- ZipMoney::Configuration
- Defined in:
- lib/zip_money/configuration.rb
Instance Attribute Summary collapse
-
#access_token ⇒ Object
Defines the access token (Bearer) used with OAuth2.
-
#api_key ⇒ Hash
Defines API keys used with API Key authentications.
-
#api_key_prefix ⇒ Hash
Defines API key prefixes used with API Key authentications.
-
#api_version ⇒ Object
Returns the value of attribute api_version.
-
#base_path ⇒ Object
Defines url base path.
-
#cert_file ⇒ Object
TLS/SSL setting Client certificate file (for client certificate).
-
#debugging ⇒ true, false
Set this to enable/disable debugging.
-
#environment ⇒ Object
Current environment.
-
#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.
-
#key_file ⇒ Object
TLS/SSL setting Client private key file (for client certificate).
-
#logger ⇒ #debug
Defines the logger used for debugging.
-
#num_retries ⇒ Object
Number of retries allowed if the first one fails.
-
#params_encoding ⇒ Object
Set this to customize parameters encoding of array parameter with multi collectionFormat.
-
#password ⇒ String
Defines the password used with HTTP basic authentication.
-
#platform ⇒ Object
Returns the value of attribute platform.
-
#retry_interval ⇒ Object
Retry interval.
-
#scheme ⇒ Object
Defines url scheme.
-
#ssl_ca_cert ⇒ String
TLS/SSL setting Set this to customize the certificate file to verify the peer.
-
#supported_environments ⇒ Object
Supported environments.
-
#temp_folder_path ⇒ String
Defines the temporary folder to store downloaded files (for API endpoints that have file response).
-
#timeout ⇒ Object
The time limit for HTTP request in seconds.
-
#user_agent ⇒ Object
Returns the value of attribute user_agent.
-
#username ⇒ String
Defines the username used with HTTP basic authentication.
-
#verify_ssl ⇒ true, false
TLS/SSL setting Set this to false to skip verifying SSL certificate when calling API from https server.
-
#verify_ssl_host ⇒ true, false
TLS/SSL setting Set this to false to skip verifying SSL host name Default to true.
Class Method Summary collapse
-
.default ⇒ Object
The default Configuration object.
Instance Method Summary collapse
-
#api_key_with_prefix(param_name) ⇒ Object
Gets API key (with prefix if set).
-
#auth_settings ⇒ Object
Returns Auth Settings hash for api client.
- #base_url ⇒ Object
-
#basic_auth_token ⇒ Object
Gets Basic Auth token string.
- #configure {|_self| ... } ⇒ Object
-
#initialize {|_self| ... } ⇒ Configuration
constructor
A new instance of Configuration.
Constructor Details
#initialize {|_self| ... } ⇒ Configuration
Returns a new instance of Configuration.
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/zip_money/configuration.rb', line 139 def initialize @scheme = 'https' @host = 'api.sandbox.zipmoney.com.au' @supported_environments = {:sandbox => "api.sandbox.zipmoney.com.au",:production => "api.zipmoney.com.au"} @environment = "sandbox" @base_path = '/merchant/v1' @api_key = {} @api_key_prefix = {} @timeout = 0 @verify_ssl = true @verify_ssl_host = true @params_encoding = nil @cert_file = nil @key_file = nil @debugging = false @inject_format = false @force_ending_format = false @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT) @api_version = '2017-03-01' @retry_interval = 0 @num_retries = 3 @user_agent = "merchantapi/#{VERSION}/ruby" yield(self) if block_given? end |
Instance Attribute Details
#access_token ⇒ Object
Defines the access token (Bearer) used with OAuth2.
52 53 54 |
# File 'lib/zip_money/configuration.rb', line 52 def access_token @access_token end |
#api_key ⇒ Hash
Defines API keys used with API Key authentications.
31 32 33 |
# File 'lib/zip_money/configuration.rb', line 31 def api_key @api_key end |
#api_key_prefix ⇒ Hash
Defines API key prefixes used with API Key authentications.
39 40 41 |
# File 'lib/zip_money/configuration.rb', line 39 def api_key_prefix @api_key_prefix end |
#api_version ⇒ Object
Returns the value of attribute api_version.
133 134 135 |
# File 'lib/zip_money/configuration.rb', line 133 def api_version @api_version end |
#base_path ⇒ Object
Defines url base path
17 18 19 |
# File 'lib/zip_money/configuration.rb', line 17 def base_path @base_path end |
#cert_file ⇒ Object
TLS/SSL setting Client certificate file (for client certificate)
116 117 118 |
# File 'lib/zip_money/configuration.rb', line 116 def cert_file @cert_file 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.
59 60 61 |
# File 'lib/zip_money/configuration.rb', line 59 def debugging @debugging end |
#environment ⇒ Object
Current environment
23 24 25 |
# File 'lib/zip_money/configuration.rb', line 23 def environment @environment end |
#force_ending_format ⇒ Object
Returns the value of attribute force_ending_format.
131 132 133 |
# File 'lib/zip_money/configuration.rb', line 131 def force_ending_format @force_ending_format end |
#host ⇒ Object
Defines url host
14 15 16 |
# File 'lib/zip_money/configuration.rb', line 14 def host @host end |
#inject_format ⇒ Object
Returns the value of attribute inject_format.
129 130 131 |
# File 'lib/zip_money/configuration.rb', line 129 def inject_format @inject_format end |
#key_file ⇒ Object
TLS/SSL setting Client private key file (for client certificate)
120 121 122 |
# File 'lib/zip_money/configuration.rb', line 120 def key_file @key_file end |
#logger ⇒ #debug
Defines the logger used for debugging. Default to ‘Rails.logger` (when in Rails) or logging to STDOUT.
65 66 67 |
# File 'lib/zip_money/configuration.rb', line 65 def logger @logger end |
#num_retries ⇒ Object
Number of retries allowed if the first one fails. Default to 0 (no retries).
80 81 82 |
# File 'lib/zip_money/configuration.rb', line 80 def num_retries @num_retries end |
#params_encoding ⇒ Object
Set this to customize parameters encoding of array parameter with multi collectionFormat. Default to nil.
github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96
127 128 129 |
# File 'lib/zip_money/configuration.rb', line 127 def params_encoding @params_encoding end |
#password ⇒ String
Defines the password used with HTTP basic authentication.
49 50 51 |
# File 'lib/zip_money/configuration.rb', line 49 def password @password end |
#platform ⇒ Object
Returns the value of attribute platform.
135 136 137 |
# File 'lib/zip_money/configuration.rb', line 135 def platform @platform end |
#retry_interval ⇒ Object
Retry interval. Default to 0 (retry immediately).
84 85 86 |
# File 'lib/zip_money/configuration.rb', line 84 def retry_interval @retry_interval end |
#scheme ⇒ Object
Defines url scheme
11 12 13 |
# File 'lib/zip_money/configuration.rb', line 11 def scheme @scheme end |
#ssl_ca_cert ⇒ String
TLS/SSL setting Set this to customize the certificate file to verify the peer.
github.com/typhoeus/typhoeus/blob/master/lib/typhoeus/easy_factory.rb#L145
112 113 114 |
# File 'lib/zip_money/configuration.rb', line 112 def ssl_ca_cert @ssl_ca_cert end |
#supported_environments ⇒ Object
Supported environments
20 21 22 |
# File 'lib/zip_money/configuration.rb', line 20 def supported_environments @supported_environments end |
#temp_folder_path ⇒ String
Defines the temporary folder to store downloaded files (for API endpoints that have file response). Default to use ‘Tempfile`.
72 73 74 |
# File 'lib/zip_money/configuration.rb', line 72 def temp_folder_path @temp_folder_path end |
#timeout ⇒ Object
The time limit for HTTP request in seconds. Default to 0 (never times out).
76 77 78 |
# File 'lib/zip_money/configuration.rb', line 76 def timeout @timeout end |
#user_agent ⇒ Object
Returns the value of attribute user_agent.
137 138 139 |
# File 'lib/zip_money/configuration.rb', line 137 def user_agent @user_agent end |
#username ⇒ String
Defines the username used with HTTP basic authentication.
44 45 46 |
# File 'lib/zip_money/configuration.rb', line 44 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.
TLS/SSL setting Set this to false to skip verifying SSL certificate when calling API from https server. Default to true.
94 95 96 |
# File 'lib/zip_money/configuration.rb', line 94 def verify_ssl @verify_ssl end |
#verify_ssl_host ⇒ true, false
Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
TLS/SSL setting Set this to false to skip verifying SSL host name Default to true.
103 104 105 |
# File 'lib/zip_money/configuration.rb', line 103 def verify_ssl_host @verify_ssl_host end |
Class Method Details
.default ⇒ Object
The default Configuration object.
166 167 168 |
# File 'lib/zip_money/configuration.rb', line 166 def self.default @@default ||= Configuration.new end |
Instance Method Details
#api_key_with_prefix(param_name) ⇒ Object
Gets API key (with prefix if set).
204 205 206 207 208 209 210 |
# File 'lib/zip_money/configuration.rb', line 204 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 |
#auth_settings ⇒ Object
Returns Auth Settings hash for api client.
226 227 228 229 230 231 232 233 234 235 236 |
# File 'lib/zip_money/configuration.rb', line 226 def auth_settings { 'Authorization' => { type: 'api_key', in: 'header', key: 'Authorization', value: api_key_with_prefix('Authorization') }, } end |
#base_url ⇒ Object
197 198 199 200 |
# File 'lib/zip_money/configuration.rb', line 197 def base_url url = "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') URI.encode(url) end |
#basic_auth_token ⇒ Object
Gets Basic Auth token string
213 214 215 |
# File 'lib/zip_money/configuration.rb', line 213 def basic_auth_token 'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n") end |
#configure {|_self| ... } ⇒ Object
170 171 172 |
# File 'lib/zip_money/configuration.rb', line 170 def configure yield(self) if block_given? end |