Class: MastercardCoreSdk::Core::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/mastercard_core_sdk/core/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:



35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 35

def initialize
  @scheme = 'https'
  @host = 'api.mastercard.com'
  @base_path = ''
  @timeout = 0
  @verify_ssl = false #To be set to true for production
  @inject_format = false
  @force_ending_format = false
  @format = ""
  @default_headers = {}
    
  yield(self) if block_given?
end

Instance Attribute Details

#base_pathObject

Defines url base path



13
14
15
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 13

def base_path
  @base_path
end

#default_headersObject

Returns the value of attribute default_headers.



32
33
34
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 32

def default_headers
  @default_headers
end

#force_ending_formatObject

Returns the value of attribute force_ending_format.



30
31
32
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 30

def force_ending_format
  @force_ending_format
end

#formatObject

Returns the value of attribute format.



32
33
34
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 32

def format
  @format
end

#hostObject

Defines url host



10
11
12
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 10

def host
  @host
end

#inject_formatObject

Returns the value of attribute inject_format.



28
29
30
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 28

def inject_format
  @inject_format
end

#schemeObject

Defines url scheme



7
8
9
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 7

def scheme
  @scheme
end

#timeoutObject

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



17
18
19
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 17

def timeout
  @timeout
end

#user_agentObject

Returns the value of attribute user_agent.



32
33
34
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 32

def user_agent
  @user_agent
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 Set this to false to skip verifying SSL certificate when calling API from https server. Default to true.

Returns:

  • (true, false)


26
27
28
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 26

def verify_ssl
  @verify_ssl
end

Class Method Details

.defaultObject

The default Configuration object.



50
51
52
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 50

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

Instance Method Details

#base_urlObject



74
75
76
77
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 74

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

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

Yields:

  • (_self)

Yield Parameters:



54
55
56
# File 'lib/mastercard_core_sdk/core/configuration.rb', line 54

def configure
  yield(self) if block_given?
end