tangocard-raas 1.1.2 → 2.2.1

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.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +28 -175
  3. data/README.md +38 -525
  4. data/lib/raas.rb +32 -19
  5. data/lib/raas/api_helper.rb +146 -54
  6. data/lib/raas/configuration.rb +22 -30
  7. data/lib/raas/controllers/accounts_controller.rb +146 -92
  8. data/lib/raas/controllers/base_controller.rb +32 -29
  9. data/lib/raas/controllers/catalog_controller.rb +31 -14
  10. data/lib/raas/controllers/customers_controller.rb +113 -72
  11. data/lib/raas/controllers/exchange_rates_controller.rb +40 -12
  12. data/lib/raas/controllers/fund_controller.rb +345 -0
  13. data/lib/raas/controllers/orders_controller.rb +166 -105
  14. data/lib/raas/controllers/status_controller.rb +31 -14
  15. data/lib/raas/exceptions/api_exception.rb +4 -2
  16. data/lib/raas/exceptions/raas_client_exception.rb +14 -12
  17. data/lib/raas/exceptions/raas_generic_exception.rb +9 -9
  18. data/lib/raas/exceptions/raas_server_exception.rb +14 -12
  19. data/lib/raas/http/auth/basic_auth.rb +7 -4
  20. data/lib/raas/http/faraday_client.rb +19 -7
  21. data/lib/raas/http/http_call_back.rb +11 -6
  22. data/lib/raas/http/http_client.rb +50 -32
  23. data/lib/raas/http/http_context.rb +5 -2
  24. data/lib/raas/http/http_method_enum.rb +6 -2
  25. data/lib/raas/http/http_request.rb +7 -3
  26. data/lib/raas/http/http_response.rb +3 -1
  27. data/lib/raas/models/account_model.rb +32 -23
  28. data/lib/raas/models/account_summary_model.rb +26 -17
  29. data/lib/raas/models/base_model.rb +11 -9
  30. data/lib/raas/models/billing_address_model.rb +105 -0
  31. data/lib/raas/models/brand_model.rb +39 -35
  32. data/lib/raas/models/catalog_model.rb +15 -13
  33. data/lib/raas/models/create_account_request_model.rb +14 -14
  34. data/lib/raas/models/create_credit_card_request_model.rb +96 -0
  35. data/lib/raas/models/create_customer_request_model.rb +12 -12
  36. data/lib/raas/models/create_order_request_model.rb +45 -35
  37. data/lib/raas/models/credit_card_model.rb +124 -0
  38. data/lib/raas/models/currency_breakdown_model.rb +18 -18
  39. data/lib/raas/models/customer_model.rb +24 -22
  40. data/lib/raas/models/deposit_request_model.rb +60 -0
  41. data/lib/raas/models/deposit_response_model.rb +80 -0
  42. data/lib/raas/models/exchange_rate_model.rb +18 -17
  43. data/lib/raas/models/exchange_rate_response_model.rb +17 -15
  44. data/lib/raas/models/full_name_email_model.rb +42 -0
  45. data/lib/raas/models/get_deposit_response_model.rb +80 -0
  46. data/lib/raas/models/get_orders_response_model.rb +16 -14
  47. data/lib/raas/models/item_model.rb +36 -34
  48. data/lib/raas/models/name_email_model.rb +14 -14
  49. data/lib/raas/models/new_credit_card_model.rb +51 -0
  50. data/lib/raas/models/order_model.rb +124 -92
  51. data/lib/raas/models/order_summary_model.rb +155 -0
  52. data/lib/raas/models/page_model.rb +16 -16
  53. data/lib/raas/models/raas_client_error_model.rb +16 -16
  54. data/lib/raas/models/raas_server_error_model.rb +12 -12
  55. data/lib/raas/models/resend_order_response_model.rb +11 -11
  56. data/lib/raas/models/reward_credential_model.rb +14 -14
  57. data/lib/raas/models/reward_model.rb +16 -14
  58. data/lib/raas/models/system_status_response_model.rb +10 -10
  59. data/lib/raas/models/unregister_credit_card_request_model.rb +51 -0
  60. data/lib/raas/models/unregister_credit_card_response_model.rb +53 -0
  61. data/lib/raas/raas_client.rb +36 -25
  62. data/test/controllers/controller_test_base.rb +31 -0
  63. data/test/controllers/test_accounts_controller.rb +79 -0
  64. data/test/controllers/test_catalog_controller.rb +65 -0
  65. data/test/controllers/test_customers_controller.rb +61 -0
  66. data/test/controllers/test_exchange_rates_controller.rb +35 -0
  67. data/test/controllers/test_fund_controller.rb +108 -0
  68. data/test/controllers/test_orders_controller.rb +86 -0
  69. data/test/controllers/test_status_controller.rb +27 -0
  70. data/test/http_response_catcher.rb +16 -0
  71. data/test/test_helper.rb +91 -0
  72. metadata +32 -10
@@ -1,4 +1,5 @@
1
- # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
2
3
  require 'date'
3
4
  require 'json'
4
5
  require 'faraday'
@@ -20,42 +21,54 @@ require_relative 'raas/http/auth/basic_auth.rb'
20
21
 
21
22
  # Models
22
23
  require_relative 'raas/models/base_model.rb'
23
- require_relative 'raas/models/account_summary_model.rb'
24
- require_relative 'raas/models/customer_model.rb'
25
- require_relative 'raas/models/account_model.rb'
26
- require_relative 'raas/models/create_customer_request_model.rb'
27
24
  require_relative 'raas/models/create_account_request_model.rb'
28
- require_relative 'raas/models/raas_server_error_model.rb'
25
+ require_relative 'raas/models/name_email_model.rb'
29
26
  require_relative 'raas/models/system_status_response_model.rb'
30
- require_relative 'raas/models/catalog_model.rb'
31
- require_relative 'raas/models/brand_model.rb'
27
+ require_relative 'raas/models/raas_server_error_model.rb'
28
+ require_relative 'raas/models/new_credit_card_model.rb'
29
+ require_relative 'raas/models/create_customer_request_model.rb'
30
+ require_relative 'raas/models/unregister_credit_card_response_model.rb'
31
+ require_relative 'raas/models/unregister_credit_card_request_model.rb'
32
+ require_relative 'raas/models/create_order_request_model.rb'
33
+ require_relative 'raas/models/deposit_request_model.rb'
34
+ require_relative 'raas/models/get_orders_response_model.rb'
32
35
  require_relative 'raas/models/item_model.rb'
36
+ require_relative 'raas/models/catalog_model.rb'
37
+ require_relative 'raas/models/reward_credential_model.rb'
33
38
  require_relative 'raas/models/order_model.rb'
39
+ require_relative 'raas/models/exchange_rate_model.rb'
40
+ require_relative 'raas/models/full_name_email_model.rb'
41
+ require_relative 'raas/models/raas_client_error_model.rb'
42
+ require_relative 'raas/models/brand_model.rb'
43
+ require_relative 'raas/models/billing_address_model.rb'
44
+ require_relative 'raas/models/account_model.rb'
45
+ require_relative 'raas/models/create_credit_card_request_model.rb'
46
+ require_relative 'raas/models/get_deposit_response_model.rb'
47
+ require_relative 'raas/models/reward_model.rb'
34
48
  require_relative 'raas/models/currency_breakdown_model.rb'
35
- require_relative 'raas/models/name_email_model.rb'
36
- require_relative 'raas/models/exchange_rate_response_model.rb'
37
- require_relative 'raas/models/get_orders_response_model.rb'
49
+ require_relative 'raas/models/account_summary_model.rb'
38
50
  require_relative 'raas/models/resend_order_response_model.rb'
39
- require_relative 'raas/models/create_order_request_model.rb'
40
- require_relative 'raas/models/reward_model.rb'
41
- require_relative 'raas/models/reward_credential_model.rb'
42
- require_relative 'raas/models/exchange_rate_model.rb'
51
+ require_relative 'raas/models/deposit_response_model.rb'
52
+ require_relative 'raas/models/exchange_rate_response_model.rb'
53
+ require_relative 'raas/models/customer_model.rb'
54
+ require_relative 'raas/models/order_summary_model.rb'
43
55
  require_relative 'raas/models/page_model.rb'
44
- require_relative 'raas/models/raas_client_error_model.rb'
56
+ require_relative 'raas/models/credit_card_model.rb'
45
57
 
46
58
  # Exceptions
47
59
  require_relative 'raas/exceptions/api_exception.rb'
60
+ require_relative 'raas/exceptions/raas_server_exception.rb'
48
61
  require_relative 'raas/exceptions/raas_generic_exception.rb'
49
62
  require_relative 'raas/exceptions/raas_client_exception.rb'
50
- require_relative 'raas/exceptions/raas_server_exception.rb'
51
63
 
52
64
  require_relative 'raas/configuration.rb'
53
65
 
54
66
  # Controllers
55
67
  require_relative 'raas/controllers/base_controller.rb'
68
+ require_relative 'raas/controllers/status_controller.rb'
56
69
  require_relative 'raas/controllers/accounts_controller.rb'
57
70
  require_relative 'raas/controllers/orders_controller.rb'
58
- require_relative 'raas/controllers/catalog_controller.rb'
71
+ require_relative 'raas/controllers/fund_controller.rb'
59
72
  require_relative 'raas/controllers/exchange_rates_controller.rb'
60
- require_relative 'raas/controllers/status_controller.rb'
61
73
  require_relative 'raas/controllers/customers_controller.rb'
74
+ require_relative 'raas/controllers/catalog_controller.rb'
@@ -1,18 +1,22 @@
1
- # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
2
3
 
3
4
  module Raas
5
+ # API utility class
4
6
  class APIHelper
5
- # Serializes an array parameter (creates key value pairs)
6
- # @param [String] The name of the parameter
7
- # @param [Array] The value of the parameter
8
- # @param [String] The format of the serialization
7
+ # Serializes an array parameter (creates key value pairs).
8
+ # @param [String] The name of the parameter.
9
+ # @param [Array] The value of the parameter.
10
+ # @param [String] The format of the serialization.
9
11
  def self.serialize_array(key, array, formatting: 'indexed')
10
12
  tuples = []
11
13
 
12
14
  if formatting == 'unindexed'
13
15
  tuples += array.map { |element| ["#{key}[]", element] }
14
16
  elsif formatting == 'indexed'
15
- tuples += array.map.with_index { |element, index| ["#{key}[#{index}]", element] }
17
+ tuples += array.map.with_index do |element, index|
18
+ ["#{key}[#{index}]", element]
19
+ end
16
20
  elsif formatting == 'plain'
17
21
  tuples += array.map { |element| [key, element] }
18
22
  else
@@ -21,17 +25,21 @@ module Raas
21
25
  tuples
22
26
  end
23
27
 
24
- # Replaces template parameters in the given url
25
- # @param [String] The query string builder to replace the template parameters
26
- # @param [Hash] The parameters to replace in the url
28
+ # Replaces template parameters in the given url.
29
+ # @param [String] The query string builder to replace the template
30
+ # parameters.
31
+ # @param [Hash] The parameters to replace in the url.
27
32
  def self.append_url_with_template_parameters(query_builder, parameters)
28
33
  # perform parameter validation
29
- raise ArgumentError, 'Given value for parameter \"query_builder\" is invalid.' unless query_builder.instance_of? String
34
+ unless query_builder.instance_of? String
35
+ raise ArgumentError, 'Given value for parameter \"query_builder\" is
36
+ invalid.'
37
+ end
30
38
 
31
- # return if there are no parameters to replace
39
+ # Return if there are no parameters to replace.
32
40
  return query_builder if parameters.nil?
33
41
 
34
- # iterate and append parameters
42
+ # Iterate and append parameters.
35
43
  parameters.each do |key, value|
36
44
  replace_value = ''
37
45
 
@@ -44,38 +52,50 @@ module Raas
44
52
  replace_value = CGI.escape(value.to_s)
45
53
  end
46
54
 
47
- # find the template parameter and replace it with its value
55
+ # Find the template parameter and replace it with its value.
48
56
  query_builder = query_builder.gsub('{' + key.to_s + '}', replace_value)
49
57
  end
50
58
  query_builder
51
59
  end
52
60
 
53
- # Appends the given set of parameters to the given query string
54
- # @param [String] The query string builder to add the query parameters to
55
- # @param [Hash] The parameters to append
56
- # @param [String] The format of array parameter serialization
57
- def self.append_url_with_query_parameters(query_builder, parameters, array_serialization: 'indexed')
58
- # perform parameter validation
59
- raise ArgumentError, 'Given value for parameter \"query_builder\" is invalid.' unless query_builder.instance_of? String
61
+ # Appends the given set of parameters to the given query string.
62
+ # @param [String] The query string builder to add the query parameters to.
63
+ # @param [Hash] The parameters to append.
64
+ # @param [String] The format of array parameter serialization.
65
+ def self.append_url_with_query_parameters(query_builder, parameters,
66
+ array_serialization: 'indexed')
67
+ # Perform parameter validation.
68
+ unless query_builder.instance_of? String
69
+ raise ArgumentError, 'Given value for parameter \"query_builder\"
70
+ is invalid.'
71
+ end
60
72
 
61
- # return if there are no parameters to replace
73
+ # Return if there are no parameters to replace.
62
74
  return query_builder if parameters.nil?
63
75
 
64
76
  parameters.each do |key, value|
65
- seperator = (query_builder.include? '?') ? '&' : '?'
66
- if not value.nil?
77
+ seperator = query_builder.include?('?') ? '&' : '?'
78
+ unless value.nil?
67
79
  if value.instance_of? Array
68
80
  value.compact!
69
- if array_serialization == 'csv'
70
- query_builder += "#{seperator}#{key}=#{value.map { |element| CGI.escape(element.to_s) }.join(',')}"
71
- elsif array_serialization == 'psv'
72
- query_builder += "#{seperator}#{key}=#{value.map { |element| CGI.escape(element.to_s) }.join('|')}"
73
- elsif array_serialization == 'tsv'
74
- query_builder += "#{seperator}#{key}=#{value.map { |element| CGI.escape(element.to_s) }.join('\t')}"
75
- else
76
- query_builder += "#{seperator}#{APIHelper.serialize_array(key, value, formatting: array_serialization).
77
- map { |k, v| "#{k}=#{CGI.escape(v.to_s)}" }.join('&')}"
78
- end
81
+ query_builder += if array_serialization == 'csv'
82
+ "#{seperator}#{key}=#{value.map do |element|
83
+ CGI.escape(element.to_s)
84
+ end.join(',')}"
85
+ elsif array_serialization == 'psv'
86
+ "#{seperator}#{key}=#{value.map do |element|
87
+ CGI.escape(element.to_s)
88
+ end.join('|')}"
89
+ elsif array_serialization == 'tsv'
90
+ "#{seperator}#{key}=#{value.map do |element|
91
+ CGI.escape(element.to_s)
92
+ end.join("\t")}"
93
+ else
94
+ "#{seperator}#{APIHelper.serialize_array(
95
+ key, value, formatting: array_serialization
96
+ ).map { |k, v| "#{k}=#{CGI.escape(v.to_s)}" }
97
+ .join('&')}"
98
+ end
79
99
  else
80
100
  query_builder += "#{seperator}#{key}=#{CGI.escape(value.to_s)}"
81
101
  end
@@ -84,31 +104,31 @@ module Raas
84
104
  query_builder
85
105
  end
86
106
 
87
- # Validates and processes the given Url
88
- # @param [String] The given Url to process
89
- # @return [String] Pre-processed Url as string
107
+ # Validates and processes the given Url.
108
+ # @param [String] The given Url to process.
109
+ # @return [String] Pre-processed Url as string.
90
110
  def self.clean_url(url)
91
- # perform parameter validation
111
+ # Perform parameter validation.
92
112
  raise ArgumentError, 'Invalid Url.' unless url.instance_of? String
93
113
 
94
- # ensure that the urls are absolute
114
+ # Ensure that the urls are absolute.
95
115
  matches = url.match(%r{^(https?:\/\/[^\/]+)})
96
116
  raise ArgumentError, 'Invalid Url format.' if matches.nil?
97
117
 
98
- # get the http protocol match
118
+ # Get the http protocol match.
99
119
  protocol = matches[1]
100
120
 
101
- # check if parameters exist
121
+ # Check if parameters exist.
102
122
  index = url.index('?')
103
123
 
104
- # remove redundant forward slashes
124
+ # Remove redundant forward slashes.
105
125
  query = url[protocol.length...(!index.nil? ? index : url.length)]
106
126
  query.gsub!(%r{\/\/+}, '/')
107
127
 
108
- # get the parameters
128
+ # Get the parameters.
109
129
  parameters = !index.nil? ? url[url.index('?')...url.length] : ''
110
130
 
111
- # return processed url
131
+ # Return processed url.
112
132
  protocol + query + parameters
113
133
  end
114
134
 
@@ -116,7 +136,7 @@ module Raas
116
136
  # @param [String] A JSON string.
117
137
  def self.json_deserialize(json)
118
138
  return JSON.parse(json)
119
- rescue
139
+ rescue StandardError
120
140
  raise TypeError, 'Server responded with invalid JSON.'
121
141
  end
122
142
 
@@ -132,18 +152,52 @@ module Raas
132
152
  def self.form_encode_parameters(form_parameters)
133
153
  encoded = {}
134
154
  form_parameters.each do |key, value|
135
- encoded.merge!(APIHelper.form_encode(value, key))
155
+ encoded.merge!(APIHelper.form_encode(value, key, formatting:
156
+ Configuration.array_serialization))
136
157
  end
137
158
  encoded
138
159
  end
139
160
 
161
+ def self.custom_merge(a, b)
162
+ x = {}
163
+ a.each do |key, value_a|
164
+ b.each do |k, value_b|
165
+ next unless key == k
166
+ x[k] = []
167
+ if value_a.instance_of? Array
168
+ value_a.each do |v|
169
+ x[k].push(v)
170
+ end
171
+ else
172
+ x[k].push(value_a)
173
+ end
174
+ if value_b.instance_of? Array
175
+ value_b.each do |v|
176
+ x[k].push(v)
177
+ end
178
+ else
179
+ x[k].push(value_b)
180
+ end
181
+ a.delete(k)
182
+ b.delete(k)
183
+ end
184
+ end
185
+ x.merge!(a)
186
+ x.merge!(b)
187
+ x
188
+ end
189
+
140
190
  # Form encodes an object.
141
191
  # @param [Dynamic] An object to form encode.
142
192
  # @param [String] The name of the object.
143
- # @return [Hash] A form encoded representation of the object in the form of a hash.
144
- def self.form_encode(obj, instance_name)
193
+ # @return [Hash] A form encoded representation of the object in the form
194
+ # of a hash.
195
+ def self.form_encode(obj, instance_name, formatting: 'indexed')
145
196
  retval = {}
146
197
 
198
+ serializable_types = [String, Numeric, TrueClass,
199
+ FalseClass, Date, DateTime]
200
+
147
201
  # If this is a structure, resolve it's field names.
148
202
  obj = obj.to_hash if obj.is_a? BaseModel
149
203
 
@@ -151,31 +205,69 @@ module Raas
151
205
  if obj.nil?
152
206
  nil
153
207
  elsif obj.instance_of? Array
154
- obj.each_with_index do |value, index|
155
- retval.merge!(APIHelper.form_encode(value, instance_name + '[' + index.to_s + ']'))
208
+ if formatting == 'indexed'
209
+ obj.each_with_index do |value, index|
210
+ retval.merge!(APIHelper.form_encode(value, instance_name + '[' +
211
+ index.to_s + ']'))
212
+ end
213
+ elsif serializable_types.map { |x| obj[0].is_a? x }.any?
214
+ obj.each do |value|
215
+ abc = if formatting == 'unindexed'
216
+ APIHelper.form_encode(value, instance_name + '[]',
217
+ formatting: formatting)
218
+ else
219
+ APIHelper.form_encode(value, instance_name,
220
+ formatting: formatting)
221
+ end
222
+ retval = APIHelper.custom_merge(retval, abc)
223
+ # print retval
224
+ end
225
+ else
226
+ obj.each_with_index do |value, index|
227
+ retval.merge!(APIHelper.form_encode(value, instance_name + '[' +
228
+ index.to_s + ']', formatting: formatting))
229
+ end
156
230
  end
157
231
  elsif obj.instance_of? Hash
158
232
  obj.each do |key, value|
159
- retval.merge!(APIHelper.form_encode(value, instance_name + '[' + key + ']'))
233
+ retval.merge!(APIHelper.form_encode(value, instance_name + '[' +
234
+ key + ']', formatting: formatting))
160
235
  end
161
236
  else
162
237
  retval[instance_name] = obj
163
238
  end
164
239
  retval
165
240
  end
241
+
242
+ # Safely converts a string into an rfc3339 DateTime object
243
+ # @param [String] The datetime string
244
+ # @return [DateTime] A DateTime object of rfc3339 format
245
+ def self.rfc3339(date_time)
246
+ # missing timezone information
247
+ if date_time.end_with?('Z') || date_time.index('+')
248
+ DateTime.rfc3339(date_time)
249
+ else
250
+ DateTime.rfc3339(date_time + 'Z')
251
+ end
252
+ end
166
253
  end
167
254
  end
168
255
 
169
- # extend types to support to_bool
256
+ # Extend types to support to_bool.
170
257
  module ToBoolean
171
258
  def to_bool
172
- return true if self == true || self.to_s.strip =~ /^(true|yes|y|1)$/i
173
- return false
259
+ return true if self == true || to_s.strip =~ /^(true|yes|y|1)$/i
260
+ false
174
261
  end
175
262
  end
176
263
 
264
+ # Extend NilClass type to support to_bool.
177
265
  class NilClass; include ToBoolean; end
266
+ # Extend TrueClass type to support to_bool.
178
267
  class TrueClass; include ToBoolean; end
268
+ # Extend FalseClass type to support to_bool.
179
269
  class FalseClass; include ToBoolean; end
270
+ # Extend Numeric type to support to_bool.
180
271
  class Numeric; include ToBoolean; end
181
- class String; include ToBoolean; end
272
+ # Extend String type to support to_bool.
273
+ class String; include ToBoolean; end
@@ -1,66 +1,58 @@
1
- # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
2
3
 
3
4
  module Raas
4
5
 
5
6
  Logging.logger.root.appenders = Logging.appenders.stdout
6
7
  Logging.logger.root.level = :info
7
8
 
9
+ # All configuration including auth info and base URI for the API access
10
+ # are configured in this class.
8
11
  class Configuration
9
- # Set the array parameter serialization method
12
+ # Set the array parameter serialization method.
10
13
  # (allowed: indexed, unindexed, plain, csv, tsv, psv)
11
14
  @array_serialization = 'indexed'
12
15
 
13
- # An enum for SDK environments
16
+ # An enum for SDK environments.
14
17
  class Environment
15
- #SANDBOX: Sandbox (Fake) Environment
16
- #PRODUCTION: Production (Live) Environment
17
- #QA: Tango Card Internal Use Only
18
- #GAMMA: Tango Card Internal Use Only
19
- #LOCAL: Tango Card Internal Use Only
20
- ENVIRONMENT = [SANDBOX = 0, PRODUCTION = 1, QA = 2, GAMMA = 3, LOCAL = 4]
18
+ #SANDBOX: The sandbox environment does not use real money and can be used for testing.
19
+ #PRODUCTION: The production environment uses real money and is for live transactions.
20
+ ENVIRONMENT = [SANDBOX = 0, PRODUCTION = 1].freeze
21
21
  end
22
22
 
23
- # An enum for API servers
23
+ # An enum for API servers.
24
24
  class Server
25
- SERVER = [DEFAULT = 0]
25
+ SERVER = [DEFAULT = 0].freeze
26
26
  end
27
27
 
28
- # The environment in which the SDK is running
28
+ # The environment in which the SDK is running.
29
29
  @environment = Environment::SANDBOX
30
30
 
31
- # RaaS v2 API Platform Name
31
+ # Platform Name (Provided by Tango Card)
32
32
  @platform_name = 'QAPlatform2'
33
33
 
34
- # RaaS v2 API Platform Key
34
+ # Platform Key (Provided by Tango Card)
35
35
  @platform_key = 'apYPfT6HNONpDRUj3CLGWYt7gvIHONpDRUYPfT6Hj'
36
36
 
37
- # All the environments the SDK can run in
37
+ # All the environments the SDK can run in.
38
38
  @environments = {
39
39
  Environment::SANDBOX => {
40
- Server::DEFAULT => 'https://integration-api.tangocard.com/raas/v2',
40
+ Server::DEFAULT => 'https://integration-api.tangocard.com/raas/v2'
41
41
  },
42
42
  Environment::PRODUCTION => {
43
- Server::DEFAULT => 'https://api.tangocard.com/raas/v2',
44
- },
45
- Environment::QA => {
46
- Server::DEFAULT => 'https://qa-api.tangocard.com/raas/v2',
47
- },
48
- Environment::GAMMA => {
49
- Server::DEFAULT => 'https://gamma-api.tangocard.com/raas/v2',
50
- },
51
- Environment::LOCAL => {
52
- Server::DEFAULT => 'http://raastango.cc:8080/v2',
53
- },
43
+ Server::DEFAULT => 'https://api.tangocard.com/raas/v2'
44
+ }
54
45
  }
55
46
 
56
47
  # Generates the appropriate base URI for the environment and the server.
57
- # @param [Configuration::Server] The server enum for which the base URI is required.
48
+ # @param [Configuration::Server] The server enum for which the base URI is
49
+ # required.
58
50
  # @return [String] The base URI.
59
51
  def self.get_base_uri(server = Server::DEFAULT)
60
- environments[environment][server]
52
+ environments[environment][server].clone
61
53
  end
62
54
 
63
- # The attribute accessors for public properties
55
+ # The attribute accessors for public properties.
64
56
  class << self
65
57
  attr_accessor :array_serialization
66
58
  attr_accessor :environment