Class: BancoBrasilPayments::Configuration
- Inherits:
-
Object
- Object
- BancoBrasilPayments::Configuration
- Defined in:
- lib/bb_payments/configuration.rb
Instance Attribute Summary collapse
-
#access_token ⇒ Object
Defines the access token (Bearer) used with OAuth2.
-
#access_token_scopes ⇒ Object
Returns the value of attribute access_token_scopes.
-
#api_key ⇒ Hash
Defines API keys used with API Key authentications.
-
#api_key_prefix ⇒ Hash
Defines API key prefixes used with API Key authentications.
-
#app_key_name ⇒ Object
Returns the value of attribute app_key_name.
-
#base_path ⇒ Object
Defines url base path.
-
#cert_file ⇒ Object
TLS/SSL setting Client certificate file (for client certificate).
-
#client_side_validation ⇒ true, false
Set this to false to skip client side validation in the operation.
-
#debugging ⇒ true, false
Set this to enable/disable debugging.
-
#force_ending_format ⇒ Object
Returns the value of attribute force_ending_format.
-
#gw_app_key ⇒ Object
Chave de acesso do aplicativo do desenvolvedor.
-
#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.
-
#oauth_host ⇒ Object
Defines url for oauth.
-
#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.
-
#scheme ⇒ Object
Defines url scheme.
-
#ssl_ca_cert ⇒ String
TLS/SSL setting Set this to customize the certificate file to verify the peer.
-
#ssl_key_passwd ⇒ Object
TLS/SSL setting Client private key passphrase (for client certificate).
-
#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.
-
#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(base_path) ⇒ Object
-
#basic_auth_token ⇒ Object
Gets Basic Auth token string.
- #client_credentials_api ⇒ Object
- #configure {|_self| ... } ⇒ Object
-
#initialize {|_self| ... } ⇒ Configuration
constructor
A new instance of Configuration.
- #oauth_config ⇒ Object
Constructor Details
#initialize {|_self| ... } ⇒ Configuration
Returns a new instance of Configuration.
143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
# File 'lib/bb_payments/configuration.rb', line 143 def initialize @scheme = 'https' @app_key_name = 'gw-app-key' @host = 'api-ip.bb.com.br' @oauth_host = 'oauth.bb.com.br' @base_path = 'pagamentos-lote/v1' @api_key = {} @api_key_prefix = {} @timeout = 0 @client_side_validation = true @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?(Jets) ? Jets.logger : Logger.new(STDOUT) @access_token_scopes = 'payments.transfers-info payments.transfer-batch-request '\ 'pagamentos-lote.lotes-requisicao pagamentos-lote.lotes-info pagamentos-lote.pagamentos-info '\ 'pagamentos-lote.pix-info pagamentos-lote.transferencias-pix-info pagamentos-lote.transferencias-pix-requisicao '\ 'pagamentos-lote.cancelar-requisicao pagamentos-lote.transferencias-requisicao' yield(self) if block_given? end |
Instance Attribute Details
#access_token ⇒ Object
Defines the access token (Bearer) used with OAuth2.
58 59 60 |
# File 'lib/bb_payments/configuration.rb', line 58 def access_token @access_token end |
#access_token_scopes ⇒ Object
Returns the value of attribute access_token_scopes.
139 140 141 |
# File 'lib/bb_payments/configuration.rb', line 139 def access_token_scopes @access_token_scopes end |
#api_key ⇒ Hash
Defines API keys used with API Key authentications.
32 33 34 |
# File 'lib/bb_payments/configuration.rb', line 32 def api_key @api_key end |
#api_key_prefix ⇒ Hash
Defines API key prefixes used with API Key authentications.
40 41 42 |
# File 'lib/bb_payments/configuration.rb', line 40 def api_key_prefix @api_key_prefix end |
#app_key_name ⇒ Object
Returns the value of attribute app_key_name.
141 142 143 |
# File 'lib/bb_payments/configuration.rb', line 141 def app_key_name @app_key_name end |
#base_path ⇒ Object
Defines url base path
24 25 26 |
# File 'lib/bb_payments/configuration.rb', line 24 def base_path @base_path end |
#cert_file ⇒ Object
TLS/SSL setting Client certificate file (for client certificate)
118 119 120 |
# File 'lib/bb_payments/configuration.rb', line 118 def cert_file @cert_file end |
#client_side_validation ⇒ true, false
Set this to false to skip client side validation in the operation. Default to true.
87 88 89 |
# File 'lib/bb_payments/configuration.rb', line 87 def client_side_validation @client_side_validation 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.
65 66 67 |
# File 'lib/bb_payments/configuration.rb', line 65 def debugging @debugging end |
#force_ending_format ⇒ Object
Returns the value of attribute force_ending_format.
137 138 139 |
# File 'lib/bb_payments/configuration.rb', line 137 def force_ending_format @force_ending_format end |
#gw_app_key ⇒ Object
Chave de acesso do aplicativo do desenvolvedor. Esta chave é única e obtida no Portal “BB for Developers”Usada para identificar as requisições da aplicação do desenvolvedor.
45 46 47 |
# File 'lib/bb_payments/configuration.rb', line 45 def gw_app_key @gw_app_key end |
#host ⇒ Object
Defines url host
18 19 20 |
# File 'lib/bb_payments/configuration.rb', line 18 def host @host end |
#inject_format ⇒ Object
Returns the value of attribute inject_format.
135 136 137 |
# File 'lib/bb_payments/configuration.rb', line 135 def inject_format @inject_format end |
#key_file ⇒ Object
TLS/SSL setting Client private key file (for client certificate)
122 123 124 |
# File 'lib/bb_payments/configuration.rb', line 122 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.
71 72 73 |
# File 'lib/bb_payments/configuration.rb', line 71 def logger @logger end |
#oauth_host ⇒ Object
Defines url for oauth
21 22 23 |
# File 'lib/bb_payments/configuration.rb', line 21 def oauth_host @oauth_host 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
133 134 135 |
# File 'lib/bb_payments/configuration.rb', line 133 def params_encoding @params_encoding end |
#password ⇒ String
Defines the password used with HTTP basic authentication.
55 56 57 |
# File 'lib/bb_payments/configuration.rb', line 55 def password @password end |
#scheme ⇒ Object
Defines url scheme
15 16 17 |
# File 'lib/bb_payments/configuration.rb', line 15 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
114 115 116 |
# File 'lib/bb_payments/configuration.rb', line 114 def ssl_ca_cert @ssl_ca_cert end |
#ssl_key_passwd ⇒ Object
TLS/SSL setting Client private key passphrase (for client certificate)
126 127 128 |
# File 'lib/bb_payments/configuration.rb', line 126 def ssl_key_passwd @ssl_key_passwd end |
#temp_folder_path ⇒ String
Defines the temporary folder to store downloaded files (for API endpoints that have file response). Default to use ‘Tempfile`.
78 79 80 |
# File 'lib/bb_payments/configuration.rb', line 78 def temp_folder_path @temp_folder_path end |
#timeout ⇒ Object
The time limit for HTTP request in seconds. Default to 0 (never times out).
82 83 84 |
# File 'lib/bb_payments/configuration.rb', line 82 def timeout @timeout end |
#username ⇒ String
Defines the username used with HTTP basic authentication.
50 51 52 |
# File 'lib/bb_payments/configuration.rb', line 50 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.
96 97 98 |
# File 'lib/bb_payments/configuration.rb', line 96 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.
105 106 107 |
# File 'lib/bb_payments/configuration.rb', line 105 def verify_ssl_host @verify_ssl_host end |
Class Method Details
.default ⇒ Object
The default Configuration object.
190 191 192 |
# File 'lib/bb_payments/configuration.rb', line 190 def self.default @@default ||= Configuration.new end |
Instance Method Details
#api_key_with_prefix(param_name) ⇒ Object
Gets API key (with prefix if set).
220 221 222 223 224 225 226 |
# File 'lib/bb_payments/configuration.rb', line 220 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.
234 235 236 237 238 239 240 241 242 243 244 |
# File 'lib/bb_payments/configuration.rb', line 234 def auth_settings { 'OAuth2-CC' => { type: 'oauth2', in: 'header', key: 'Authorization', value: "Bearer #{access_token}" }, } end |
#base_url(base_path) ⇒ Object
214 215 216 |
# File 'lib/bb_payments/configuration.rb', line 214 def base_url(base_path) "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') end |
#basic_auth_token ⇒ Object
Gets Basic Auth token string
229 230 231 |
# File 'lib/bb_payments/configuration.rb', line 229 def basic_auth_token 'Basic ' + Base64.encode64("#{username}:#{password}").delete("\r\n") end |
#client_credentials_api ⇒ Object
170 171 172 |
# File 'lib/bb_payments/configuration.rb', line 170 def client_credentials_api @client_credentials_api ||= BancoBrasilClientCredentials::ApiClient.new oauth_config end |
#configure {|_self| ... } ⇒ Object
194 195 196 |
# File 'lib/bb_payments/configuration.rb', line 194 def configure yield(self) if block_given? end |
#oauth_config ⇒ Object
174 175 176 177 178 179 180 181 182 183 184 185 186 187 |
# File 'lib/bb_payments/configuration.rb', line 174 def oauth_config oauth_config = BancoBrasilClientCredentials::Configuration.new oauth_config.host = oauth_host oauth_config.base_path = '' oauth_config.logger = logger oauth_config.debugging = debugging oauth_config.verify_ssl = verify_ssl oauth_config.verify_ssl_host = verify_ssl_host oauth_config.access_token = access_token oauth_config.username = username oauth_config.password = password oauth_config.ssl_ca_cert = ssl_ca_cert oauth_config end |