Class: TransferZero::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/transferzero-sdk/configuration.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize {|_self| ... } ⇒ Configuration

Returns a new instance of Configuration.

Yields:

  • (_self)

Yield Parameters:



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/transferzero-sdk/configuration.rb', line 115

def initialize
  @scheme = 'https'
  @host = 'api-sandbox.transferzero.com'
  @base_path = '/v1'
  @api_key = ''
  @api_secret = ''
  @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?(Rails) ? Rails.logger : Logger.new(STDOUT)

  yield(self) if block_given?
end

Instance Attribute Details

#api_keyString

Defines API key used with API Key authentications.

Returns:

  • (String)

    config.api_key = ‘xxx’



31
32
33
# File 'lib/transferzero-sdk/configuration.rb', line 31

def api_key
  @api_key
end

#api_secretString

Defines API secret used with API Key authentications.

Returns:

  • (String)

    config.api_secret = ‘xxx’



38
39
40
# File 'lib/transferzero-sdk/configuration.rb', line 38

def api_secret
  @api_secret
end

#base_pathObject

Defines url base path



24
25
26
# File 'lib/transferzero-sdk/configuration.rb', line 24

def base_path
  @base_path
end

#cert_fileObject

TLS/SSL setting Client certificate file (for client certificate)



98
99
100
# File 'lib/transferzero-sdk/configuration.rb', line 98

def cert_file
  @cert_file
end

#client_side_validationtrue, false

Set this to false to skip client side validation in the operation. Default to true.

Returns:

  • (true, false)


67
68
69
# File 'lib/transferzero-sdk/configuration.rb', line 67

def client_side_validation
  @client_side_validation
end

#debuggingtrue, 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.

Returns:

  • (true, false)


45
46
47
# File 'lib/transferzero-sdk/configuration.rb', line 45

def debugging
  @debugging
end

#force_ending_formatObject

Returns the value of attribute force_ending_format.



113
114
115
# File 'lib/transferzero-sdk/configuration.rb', line 113

def force_ending_format
  @force_ending_format
end

#hostObject

Defines url host



21
22
23
# File 'lib/transferzero-sdk/configuration.rb', line 21

def host
  @host
end

#inject_formatObject

Returns the value of attribute inject_format.



111
112
113
# File 'lib/transferzero-sdk/configuration.rb', line 111

def inject_format
  @inject_format
end

#key_fileObject

TLS/SSL setting Client private key file (for client certificate)



102
103
104
# File 'lib/transferzero-sdk/configuration.rb', line 102

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.

Returns:

  • (#debug)


51
52
53
# File 'lib/transferzero-sdk/configuration.rb', line 51

def logger
  @logger
end

#params_encodingObject

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

See Also:

  • params_encoding option of Ethon. Related source code:


109
110
111
# File 'lib/transferzero-sdk/configuration.rb', line 109

def params_encoding
  @params_encoding
end

#schemeObject

Defines url scheme



18
19
20
# File 'lib/transferzero-sdk/configuration.rb', line 18

def scheme
  @scheme
end

#ssl_ca_certString

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

Returns:

  • (String)

    the path to the certificate file

See Also:

  • `cainfo` option of Typhoeus, `--cert` option of libcurl. Related source code:


94
95
96
# File 'lib/transferzero-sdk/configuration.rb', line 94

def ssl_ca_cert
  @ssl_ca_cert
end

#temp_folder_pathString

Defines the temporary folder to store downloaded files (for API endpoints that have file response). Default to use ‘Tempfile`.

Returns:

  • (String)


58
59
60
# File 'lib/transferzero-sdk/configuration.rb', line 58

def temp_folder_path
  @temp_folder_path
end

#timeoutObject

The time limit for HTTP request in seconds. Default to 0 (never times out).



62
63
64
# File 'lib/transferzero-sdk/configuration.rb', line 62

def timeout
  @timeout
end

#verify_ssltrue, false

Note:

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.

Returns:

  • (true, false)


76
77
78
# File 'lib/transferzero-sdk/configuration.rb', line 76

def verify_ssl
  @verify_ssl
end

#verify_ssl_hosttrue, false

Note:

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.

Returns:

  • (true, false)


85
86
87
# File 'lib/transferzero-sdk/configuration.rb', line 85

def verify_ssl_host
  @verify_ssl_host
end

Class Method Details

.defaultObject

The default Configuration object.



137
138
139
# File 'lib/transferzero-sdk/configuration.rb', line 137

def self.default
  @@default ||= Configuration.new
end

Instance Method Details

#base_urlObject



161
162
163
164
# File 'lib/transferzero-sdk/configuration.rb', line 161

def base_url
  url = "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '')
  URI.encode(url)
end

#configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



141
142
143
# File 'lib/transferzero-sdk/configuration.rb', line 141

def configure
  yield(self) if block_given?
end