mastercard_core_sdk 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE.txt +24 -0
- data/README.md +66 -0
- data/lib/mastercard_core_sdk/api/access_token_api.rb +31 -0
- data/lib/mastercard_core_sdk/api/request_token_api.rb +30 -0
- data/lib/mastercard_core_sdk/client/api_client.rb +192 -0
- data/lib/mastercard_core_sdk/constants/constants.rb +95 -0
- data/lib/mastercard_core_sdk/converters/encoded_url_converter.rb +55 -0
- data/lib/mastercard_core_sdk/converters/json_converter.rb +107 -0
- data/lib/mastercard_core_sdk/converters/sdk_converter_factory.rb +57 -0
- data/lib/mastercard_core_sdk/converters/xml_converter.rb +52 -0
- data/lib/mastercard_core_sdk/core/api_config.rb +18 -0
- data/lib/mastercard_core_sdk/core/api_config_builder.rb +48 -0
- data/lib/mastercard_core_sdk/core/configuration.rb +81 -0
- data/lib/mastercard_core_sdk/core/mastercard_api_configuration.rb +100 -0
- data/lib/mastercard_core_sdk/core/mastercard_authenticator.rb +25 -0
- data/lib/mastercard_core_sdk/core/query_params.rb +23 -0
- data/lib/mastercard_core_sdk/core/request_response_logger.rb +101 -0
- data/lib/mastercard_core_sdk/core/service_request.rb +24 -0
- data/lib/mastercard_core_sdk/exceptions/error_handler.rb +130 -0
- data/lib/mastercard_core_sdk/exceptions/sdk_base_error.rb +28 -0
- data/lib/mastercard_core_sdk/exceptions/sdk_conversion_error.rb +18 -0
- data/lib/mastercard_core_sdk/exceptions/sdk_oauth_error.rb +16 -0
- data/lib/mastercard_core_sdk/exceptions/sdk_response_error.rb +17 -0
- data/lib/mastercard_core_sdk/exceptions/sdk_validation_error.rb +16 -0
- data/lib/mastercard_core_sdk/interceptors/api_tracker_builder.rb +44 -0
- data/lib/mastercard_core_sdk/interceptors/logger_builder.rb +22 -0
- data/lib/mastercard_core_sdk/interceptors/signature_builder.rb +18 -0
- data/lib/mastercard_core_sdk/models/access_token_response.rb +150 -0
- data/lib/mastercard_core_sdk/models/detail.rb +165 -0
- data/lib/mastercard_core_sdk/models/details.rb +159 -0
- data/lib/mastercard_core_sdk/models/error.rb +212 -0
- data/lib/mastercard_core_sdk/models/error_response.rb +14 -0
- data/lib/mastercard_core_sdk/models/errors.rb +167 -0
- data/lib/mastercard_core_sdk/models/extension_point.rb +153 -0
- data/lib/mastercard_core_sdk/models/request_token_response.rb +169 -0
- data/lib/mastercard_core_sdk/oauth/oauth_parameters.rb +20 -0
- data/lib/mastercard_core_sdk/oauth/oauth_util.rb +205 -0
- data/lib/mastercard_core_sdk/tracker/api_tracker.rb +20 -0
- data/lib/mastercard_core_sdk/tracker/token_api_tracker.rb +52 -0
- data/lib/mastercard_core_sdk/version.rb +3 -0
- data/lib/mastercard_core_sdk.rb +65 -0
- metadata +208 -0
@@ -0,0 +1,20 @@
|
|
1
|
+
module MastercardCoreSdk
|
2
|
+
module OAuth
|
3
|
+
class OAuthParameters
|
4
|
+
|
5
|
+
attr_accessor :params
|
6
|
+
def initialize
|
7
|
+
self.params = Hash.new
|
8
|
+
end
|
9
|
+
|
10
|
+
# Adds a parameter to the hash and as an instance variable to the class
|
11
|
+
def add_parameter(key, value)
|
12
|
+
self.params[key.to_sym] = value
|
13
|
+
self.class.send(:define_method, key) do
|
14
|
+
value
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,205 @@
|
|
1
|
+
require 'base64'
|
2
|
+
require 'cgi'
|
3
|
+
require 'net/http'
|
4
|
+
require 'net/https'
|
5
|
+
require 'openssl'
|
6
|
+
require 'digest/sha1'
|
7
|
+
require 'securerandom'
|
8
|
+
require 'uri'
|
9
|
+
require 'logging'
|
10
|
+
require_relative '../core/mastercard_api_configuration'
|
11
|
+
require_relative '../core/api_config'
|
12
|
+
|
13
|
+
module MastercardCoreSdk
|
14
|
+
module OAuth
|
15
|
+
# Utility class for OAuth
|
16
|
+
class OAuthUtil
|
17
|
+
@@logger = Logging.logger[self]
|
18
|
+
|
19
|
+
class << self
|
20
|
+
include MastercardCoreSdk::Core
|
21
|
+
|
22
|
+
# Method to build request header.
|
23
|
+
# @param api_request
|
24
|
+
# @return [Typhoeus::Request]
|
25
|
+
def build_request_header(api_request)
|
26
|
+
|
27
|
+
@signature_base_string = @auth_header = @signed_signature_base_string = @header = ''
|
28
|
+
|
29
|
+
headers = api_request.options[:headers]
|
30
|
+
url = api_request.base_url
|
31
|
+
|
32
|
+
body = api_request.options[:body] || ""
|
33
|
+
|
34
|
+
@api_config = MasterCardApiConfiguration.api_config(headers[ApiConfig::CONFIG_NAME_HEADER])
|
35
|
+
MasterCardApiConfiguration.validate_config(@api_config)
|
36
|
+
|
37
|
+
oauth_params = set_oauth_parameters
|
38
|
+
oauth_params = generate_body_hash(headers, body, oauth_params)
|
39
|
+
request = set_headers(url, api_request, oauth_params)
|
40
|
+
|
41
|
+
@@logger.info LOG_MSG_OAUTH_HEADER
|
42
|
+
return request
|
43
|
+
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
# Method to generate base OAuth params
|
48
|
+
def set_oauth_parameters
|
49
|
+
oparams = OAuthParameters.new
|
50
|
+
oparams.add_parameter(OAUTH_CONSUMER_KEY, @api_config.consumer_key)
|
51
|
+
oparams.add_parameter(OAUTH_NONCE, generate_nonce)
|
52
|
+
oparams.add_parameter(OAUTH_TIMESTAMP, generate_timestamp)
|
53
|
+
oparams.add_parameter(OAUTH_SIGNATURE_METHOD, OAUTH_KEY_SIGNATURE_METHOD_VAL)
|
54
|
+
oparams.add_parameter(OAUTH_VERSION, OAUTH_VERSION_VAL)
|
55
|
+
oparams
|
56
|
+
end
|
57
|
+
|
58
|
+
# This method subsequently builds and signs the Oauth Header
|
59
|
+
def set_headers(url, request, oauth_params)
|
60
|
+
request_method = request.options[:method].to_s
|
61
|
+
auth_header = build_auth_header_string(url, request_method, oauth_params)
|
62
|
+
|
63
|
+
request.options[:headers].merge!({ AUTH_HEADER => auth_header })
|
64
|
+
request = remove_request_header_params(request)
|
65
|
+
|
66
|
+
return request
|
67
|
+
end
|
68
|
+
|
69
|
+
# Method to build the auth header for the HTTP request.
|
70
|
+
# oauth_params - full populated oauth parameters
|
71
|
+
def build_auth_header_string(url, request_method, oauth_params)
|
72
|
+
temp_params = OAuthParameters.new
|
73
|
+
oauth_params_key_arr = oauth_params.params.keys.sort
|
74
|
+
|
75
|
+
oauth_params_key_arr.each do |p|
|
76
|
+
temp_params.add_parameter(p, oauth_params.send(p)) if p != :realm
|
77
|
+
end
|
78
|
+
generate_signature_base_string(url, request_method, temp_params)
|
79
|
+
sign(oauth_params)
|
80
|
+
header = ''
|
81
|
+
oauth_params.add_parameter(REALM, REALM_TYPE)
|
82
|
+
oauth_params_key_arr = oauth_params.params.keys.sort
|
83
|
+
oauth_params_key_arr.each do |p|
|
84
|
+
header << p.to_s << '="' << oauth_params.send(p) << '",' if oauth_params.send(p)
|
85
|
+
end
|
86
|
+
header = '' << OAUTH_START_STRING << header
|
87
|
+
#remove trailing comma
|
88
|
+
@header = header = header[0...header.length-1]
|
89
|
+
return @header
|
90
|
+
end
|
91
|
+
|
92
|
+
# Method to sign the signature base string using the private key.
|
93
|
+
def sign(oauth_params)
|
94
|
+
if @signature_base_string == nil || @signature_base_string.length == 0
|
95
|
+
raise OAuthError("Signature Base String May Not Be Null.")
|
96
|
+
end
|
97
|
+
digest = OpenSSL::Digest::SHA1.new
|
98
|
+
key = @api_config.private_key
|
99
|
+
|
100
|
+
@signed_signature_base_string = CGI.escape(Base64.encode64(key.sign(digest,@signature_base_string)))
|
101
|
+
|
102
|
+
@signed_signature_base_string.gsub!('+','%20')
|
103
|
+
@signed_signature_base_string.gsub!('*','%2A')
|
104
|
+
@signed_signature_base_string.gsub!('~','%7E')
|
105
|
+
oauth_params.add_parameter(OAUTH_SIGNATURE, @signed_signature_base_string)
|
106
|
+
end
|
107
|
+
|
108
|
+
# Method to generate the signature base string from the url, HTTP request method, and oauth_params
|
109
|
+
# url - URL, including query string parameters, to access
|
110
|
+
# request_method - case-insensitive HTTP request method, e.g. GET, POST, PUT, DELETE
|
111
|
+
# oauth_params - populated oauth parameters object
|
112
|
+
def generate_signature_base_string(url, request_method, oauth_params)
|
113
|
+
@signature_base_string = CGI.escape(request_method.upcase) << AMP << CGI.escape(normalize_url(url)) << AMP << CGI.escape(normalize_parameters(url, oauth_params))
|
114
|
+
|
115
|
+
end
|
116
|
+
|
117
|
+
# Method to return "core" URL for signature base string generation. http://somesite.com:8080?blah becomes http://somesite.com, for example
|
118
|
+
# url - URL to normalize
|
119
|
+
def normalize_url(url)
|
120
|
+
tmp = url.clone
|
121
|
+
# strip query string section
|
122
|
+
idx = tmp.index('?')
|
123
|
+
if idx != nil
|
124
|
+
tmp = tmp[0..idx-1]
|
125
|
+
end
|
126
|
+
# strip port
|
127
|
+
if tmp.rindex(':') != nil && tmp.rindex(':') > 5 # implies port is given
|
128
|
+
tmp = tmp[0..tmp.rindex(':')-1]
|
129
|
+
end
|
130
|
+
tmp
|
131
|
+
end
|
132
|
+
|
133
|
+
# The signature base string must be in lexical order prior to signing. This method does that required work.
|
134
|
+
# url - url to access
|
135
|
+
# oauth_params - OAuthParameters object used for building Signature Base String
|
136
|
+
def normalize_parameters(url, oauth_params)
|
137
|
+
oauth_params_hash = oauth_params.params
|
138
|
+
CGI.parse(URI.parse(url).query).map{|k,v|
|
139
|
+
oauth_params_hash[k.to_sym] = v[0]
|
140
|
+
} if url.include? "?"
|
141
|
+
oauth_params_hash.keys.sort.map{|k|
|
142
|
+
"#{URI.encode(k.to_s)}=#{oauth_params_hash[k]}"
|
143
|
+
}.join("&")
|
144
|
+
end
|
145
|
+
|
146
|
+
# Method to generate body hash if body is present
|
147
|
+
def generate_body_hash(headers = {}, body, oauth_params)
|
148
|
+
if !body.empty?
|
149
|
+
oauth_body_hash = Digest::SHA1.base64digest(body)
|
150
|
+
oauth_params.add_parameter(OAUTH_BODY_HASH, oauth_body_hash)
|
151
|
+
end
|
152
|
+
|
153
|
+
if headers && headers.size > 0
|
154
|
+
oauth_params = update_headers_before_signature(headers, oauth_params)
|
155
|
+
end
|
156
|
+
oauth_params
|
157
|
+
end
|
158
|
+
|
159
|
+
# Method to generate unique identifier for given timestamp (in seconds)
|
160
|
+
def generate_nonce
|
161
|
+
str = ''
|
162
|
+
for i in 1..NONCE_LENGTH
|
163
|
+
str << VALID_CHARS[SecureRandom.random_number(VALID_CHARS.length)]
|
164
|
+
end
|
165
|
+
@oauth_nonce = str
|
166
|
+
end
|
167
|
+
|
168
|
+
def generate_timestamp
|
169
|
+
@oauth_timestamp = Time.now.to_i.to_s
|
170
|
+
end
|
171
|
+
|
172
|
+
# Method to add additional parameters to header if present in request before building signature
|
173
|
+
def update_headers_before_signature(headers,oauth_params)
|
174
|
+
@request_header_params = {}
|
175
|
+
headers.each do |param_key,param_value|
|
176
|
+
param_key.is_a?(Symbol) ? param_key = param_key.to_s : param_key = param_key
|
177
|
+
if param_key.eql?(OAUTH_CALLBACK)
|
178
|
+
oauth_params.add_parameter OAUTH_CALLBACK, param_value
|
179
|
+
@request_header_params.merge!({ param_key => param_value})
|
180
|
+
|
181
|
+
elsif param_key.eql?(OAUTH_KEY_TOKEN) || param_key.eql?(OAUTH_KEY_LONG_ACCESS_TOKEN) || param_key.eql?(OAUTH_KEY_ACCESS_TOKEN)
|
182
|
+
oauth_params.add_parameter OAUTH_KEY_TOKEN, param_value
|
183
|
+
@request_header_params.merge!({ param_key => param_value})
|
184
|
+
|
185
|
+
elsif param_key.eql?(OAUTH_VERIFIER)
|
186
|
+
oauth_params.add_parameter OAUTH_VERIFIER, param_value
|
187
|
+
@request_header_params.merge!({ param_key => param_value})
|
188
|
+
end
|
189
|
+
end
|
190
|
+
return oauth_params
|
191
|
+
end
|
192
|
+
|
193
|
+
# Remove additional header parameters from request after generating OAuth signature
|
194
|
+
def remove_request_header_params(request)
|
195
|
+
@request_header_params.each do |param_key,param_value|
|
196
|
+
request.options[:headers].delete(param_key)
|
197
|
+
end
|
198
|
+
request.options[:headers].delete(ApiConfig::CONFIG_NAME_HEADER)
|
199
|
+
return request
|
200
|
+
end
|
201
|
+
|
202
|
+
end
|
203
|
+
end
|
204
|
+
end
|
205
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative '../exceptions/sdk_validation_error'
|
2
|
+
|
3
|
+
module MastercardCoreSdk
|
4
|
+
module Tracker
|
5
|
+
# Defines methods to be overridden by extending class for tracking API calls.
|
6
|
+
module ApiTracker
|
7
|
+
include MastercardCoreSdk::Exceptions
|
8
|
+
|
9
|
+
# Method to be overridden by the class for API-Call-Tracker header
|
10
|
+
def tracking_info
|
11
|
+
raise SDKValidationError.new(LOG_MSG_TRACKING_INFO_ERROR)
|
12
|
+
end
|
13
|
+
|
14
|
+
# Method to be overridden by the class for user-agent info header
|
15
|
+
def user_agent_info
|
16
|
+
raise SDKValidationError.new(LOG_MSG_USER_AGENT_ERROR)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require_relative '../core/mastercard_api_configuration'
|
2
|
+
require_relative '../tracker/api_tracker'
|
3
|
+
|
4
|
+
module MastercardCoreSdk
|
5
|
+
module Tracker
|
6
|
+
# Provides tracking api information and user-agent information for Token services.
|
7
|
+
class TokenApiTracker
|
8
|
+
include MastercardCoreSdk::Core, MastercardCoreSdk::Tracker::ApiTracker
|
9
|
+
|
10
|
+
# Defines the programming language.
|
11
|
+
#
|
12
|
+
# @return [String]
|
13
|
+
attr_accessor :language
|
14
|
+
|
15
|
+
# Defines the programming language version.
|
16
|
+
#
|
17
|
+
# @return [String]
|
18
|
+
attr_accessor :language_version
|
19
|
+
|
20
|
+
# Defines the plugin version if any defined in {MasterCardApiConfiguration} as additional_properties.
|
21
|
+
#
|
22
|
+
# @return [String]
|
23
|
+
attr_reader :plugin_version
|
24
|
+
|
25
|
+
def initialize
|
26
|
+
@language = "Ruby"
|
27
|
+
@language_version = RUBY_VERSION
|
28
|
+
|
29
|
+
additional_track_info = MasterCardApiConfiguration.additional_properties
|
30
|
+
if (additional_track_info && additional_track_info.size > 0 && additional_track_info.key?(PLUGIN_VERSION))
|
31
|
+
@plugin_version = additional_track_info[PLUGIN_VERSION]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# Overriding {ApiTracker#tracking_info} method.
|
36
|
+
#
|
37
|
+
# @return [String]
|
38
|
+
def tracking_info
|
39
|
+
api_tracker_string = LANG_NAME + language + SEPERATOR + LANG_VERSION + language_version
|
40
|
+
api_tracker_string += SEPERATOR + PLUGIN_VERSION + EQUAL + plugin_version unless plugin_version.nil?
|
41
|
+
return api_tracker_string
|
42
|
+
end
|
43
|
+
|
44
|
+
# Overriding {ApiTracker#user_agent_info} method.
|
45
|
+
#
|
46
|
+
# @return [String]
|
47
|
+
def user_agent_info
|
48
|
+
return USER_AGENT
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require_relative 'mastercard_core_sdk/version'
|
2
|
+
|
3
|
+
#core
|
4
|
+
require_relative 'mastercard_core_sdk/core/mastercard_authenticator'
|
5
|
+
require_relative 'mastercard_core_sdk/core/mastercard_api_configuration'
|
6
|
+
require_relative 'mastercard_core_sdk/core/request_response_logger'
|
7
|
+
require_relative 'mastercard_core_sdk/core/query_params'
|
8
|
+
require_relative 'mastercard_core_sdk/core/service_request'
|
9
|
+
require_relative 'mastercard_core_sdk/core/configuration'
|
10
|
+
|
11
|
+
#tracker
|
12
|
+
require_relative 'mastercard_core_sdk/tracker/api_tracker'
|
13
|
+
require_relative 'mastercard_core_sdk/tracker/token_api_tracker'
|
14
|
+
|
15
|
+
#api
|
16
|
+
require_relative 'mastercard_core_sdk/api/request_token_api'
|
17
|
+
require_relative 'mastercard_core_sdk/api/access_token_api'
|
18
|
+
|
19
|
+
#client
|
20
|
+
require_relative 'mastercard_core_sdk/client/api_client'
|
21
|
+
|
22
|
+
#constants
|
23
|
+
require_relative 'mastercard_core_sdk/constants/constants'
|
24
|
+
|
25
|
+
#errors
|
26
|
+
require_relative 'mastercard_core_sdk/exceptions/error_handler'
|
27
|
+
require_relative 'mastercard_core_sdk/exceptions/sdk_base_error'
|
28
|
+
require_relative 'mastercard_core_sdk/exceptions/sdk_oauth_error'
|
29
|
+
require_relative 'mastercard_core_sdk/exceptions/sdk_response_error'
|
30
|
+
require_relative 'mastercard_core_sdk/exceptions/sdk_validation_error'
|
31
|
+
require_relative 'mastercard_core_sdk/exceptions/sdk_conversion_error'
|
32
|
+
|
33
|
+
#interceptors
|
34
|
+
require_relative 'mastercard_core_sdk/interceptors/signature_builder'
|
35
|
+
require_relative 'mastercard_core_sdk/interceptors/api_tracker_builder'
|
36
|
+
require_relative 'mastercard_core_sdk/interceptors/logger_builder'
|
37
|
+
|
38
|
+
#models
|
39
|
+
require_relative 'mastercard_core_sdk/models/access_token_response'
|
40
|
+
require_relative 'mastercard_core_sdk/models/detail'
|
41
|
+
require_relative 'mastercard_core_sdk/models/details'
|
42
|
+
require_relative 'mastercard_core_sdk/models/error'
|
43
|
+
require_relative 'mastercard_core_sdk/models/errors'
|
44
|
+
require_relative 'mastercard_core_sdk/models/extension_point'
|
45
|
+
require_relative 'mastercard_core_sdk/models/request_token_response'
|
46
|
+
require_relative 'mastercard_core_sdk/models/error_response'
|
47
|
+
|
48
|
+
# OAuth
|
49
|
+
require_relative 'mastercard_core_sdk/oauth/oauth_util'
|
50
|
+
require_relative 'mastercard_core_sdk/oauth/oauth_parameters'
|
51
|
+
|
52
|
+
#converters
|
53
|
+
require_relative 'mastercard_core_sdk/converters/sdk_converter_factory'
|
54
|
+
require_relative 'mastercard_core_sdk/converters/xml_converter'
|
55
|
+
require_relative 'mastercard_core_sdk/converters/json_converter'
|
56
|
+
require_relative 'mastercard_core_sdk/converters/encoded_url_converter'
|
57
|
+
|
58
|
+
# MultiConfig Environments
|
59
|
+
require_relative 'mastercard_core_sdk/core/api_config'
|
60
|
+
require_relative 'mastercard_core_sdk/core/api_config_builder'
|
61
|
+
|
62
|
+
|
63
|
+
module MastercardCoreSdk
|
64
|
+
# Base Sdk
|
65
|
+
end
|
metadata
ADDED
@@ -0,0 +1,208 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: mastercard_core_sdk
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.3
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- MasterCard
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-08-23 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.11'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.11'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: typhoeus
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.8'
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 0.8.0
|
65
|
+
type: :runtime
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - "~>"
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0.8'
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 0.8.0
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: logging
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '2.1'
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 2.1.0
|
85
|
+
type: :runtime
|
86
|
+
prerelease: false
|
87
|
+
version_requirements: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - "~>"
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '2.1'
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 2.1.0
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: roxml
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - "~>"
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '3.3'
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 3.3.1
|
105
|
+
type: :runtime
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - "~>"
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '3.3'
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: 3.3.1
|
115
|
+
- !ruby/object:Gem::Dependency
|
116
|
+
name: json
|
117
|
+
requirement: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - "~>"
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '1.8'
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 1.8.3
|
125
|
+
type: :runtime
|
126
|
+
prerelease: false
|
127
|
+
version_requirements: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '1.8'
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 1.8.3
|
135
|
+
description: MasterCard Core API SDK. See https://developer.mastercard.com
|
136
|
+
email: openapi@mastercard.com
|
137
|
+
executables: []
|
138
|
+
extensions: []
|
139
|
+
extra_rdoc_files:
|
140
|
+
- LICENSE.txt
|
141
|
+
- README.md
|
142
|
+
files:
|
143
|
+
- LICENSE.txt
|
144
|
+
- README.md
|
145
|
+
- lib/mastercard_core_sdk.rb
|
146
|
+
- lib/mastercard_core_sdk/api/access_token_api.rb
|
147
|
+
- lib/mastercard_core_sdk/api/request_token_api.rb
|
148
|
+
- lib/mastercard_core_sdk/client/api_client.rb
|
149
|
+
- lib/mastercard_core_sdk/constants/constants.rb
|
150
|
+
- lib/mastercard_core_sdk/converters/encoded_url_converter.rb
|
151
|
+
- lib/mastercard_core_sdk/converters/json_converter.rb
|
152
|
+
- lib/mastercard_core_sdk/converters/sdk_converter_factory.rb
|
153
|
+
- lib/mastercard_core_sdk/converters/xml_converter.rb
|
154
|
+
- lib/mastercard_core_sdk/core/api_config.rb
|
155
|
+
- lib/mastercard_core_sdk/core/api_config_builder.rb
|
156
|
+
- lib/mastercard_core_sdk/core/configuration.rb
|
157
|
+
- lib/mastercard_core_sdk/core/mastercard_api_configuration.rb
|
158
|
+
- lib/mastercard_core_sdk/core/mastercard_authenticator.rb
|
159
|
+
- lib/mastercard_core_sdk/core/query_params.rb
|
160
|
+
- lib/mastercard_core_sdk/core/request_response_logger.rb
|
161
|
+
- lib/mastercard_core_sdk/core/service_request.rb
|
162
|
+
- lib/mastercard_core_sdk/exceptions/error_handler.rb
|
163
|
+
- lib/mastercard_core_sdk/exceptions/sdk_base_error.rb
|
164
|
+
- lib/mastercard_core_sdk/exceptions/sdk_conversion_error.rb
|
165
|
+
- lib/mastercard_core_sdk/exceptions/sdk_oauth_error.rb
|
166
|
+
- lib/mastercard_core_sdk/exceptions/sdk_response_error.rb
|
167
|
+
- lib/mastercard_core_sdk/exceptions/sdk_validation_error.rb
|
168
|
+
- lib/mastercard_core_sdk/interceptors/api_tracker_builder.rb
|
169
|
+
- lib/mastercard_core_sdk/interceptors/logger_builder.rb
|
170
|
+
- lib/mastercard_core_sdk/interceptors/signature_builder.rb
|
171
|
+
- lib/mastercard_core_sdk/models/access_token_response.rb
|
172
|
+
- lib/mastercard_core_sdk/models/detail.rb
|
173
|
+
- lib/mastercard_core_sdk/models/details.rb
|
174
|
+
- lib/mastercard_core_sdk/models/error.rb
|
175
|
+
- lib/mastercard_core_sdk/models/error_response.rb
|
176
|
+
- lib/mastercard_core_sdk/models/errors.rb
|
177
|
+
- lib/mastercard_core_sdk/models/extension_point.rb
|
178
|
+
- lib/mastercard_core_sdk/models/request_token_response.rb
|
179
|
+
- lib/mastercard_core_sdk/oauth/oauth_parameters.rb
|
180
|
+
- lib/mastercard_core_sdk/oauth/oauth_util.rb
|
181
|
+
- lib/mastercard_core_sdk/tracker/api_tracker.rb
|
182
|
+
- lib/mastercard_core_sdk/tracker/token_api_tracker.rb
|
183
|
+
- lib/mastercard_core_sdk/version.rb
|
184
|
+
homepage: https://developer.mastercard.com
|
185
|
+
licenses:
|
186
|
+
- MasterCard
|
187
|
+
metadata: {}
|
188
|
+
post_install_message:
|
189
|
+
rdoc_options: []
|
190
|
+
require_paths:
|
191
|
+
- lib
|
192
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
193
|
+
requirements:
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
version: '0'
|
197
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
requirements: []
|
203
|
+
rubyforge_project:
|
204
|
+
rubygems_version: 2.4.5.1
|
205
|
+
signing_key:
|
206
|
+
specification_version: 4
|
207
|
+
summary: MasterCard Core API SDK
|
208
|
+
test_files: []
|