tremendous_ruby 5.25.0 → 5.28.0

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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tremendous/api/tremendous_api.rb +163 -9
  3. data/lib/tremendous/api_client.rb +3 -2
  4. data/lib/tremendous/configuration.rb +10 -0
  5. data/lib/tremendous/models/campaign.rb +3 -5
  6. data/lib/tremendous/models/campaign_base.rb +3 -5
  7. data/lib/tremendous/models/connected_organization_member_member.rb +6 -4
  8. data/lib/tremendous/models/connected_organization_member_session.rb +27 -1
  9. data/lib/tremendous/models/connected_organization_organization.rb +3 -5
  10. data/lib/tremendous/models/{generate_reward_token200_response_reward.rb → create_api_key_request.rb} +51 -53
  11. data/lib/tremendous/models/create_campaign_request.rb +3 -5
  12. data/lib/tremendous/models/create_connected_organization_member_session200_response_connected_organization_member_session.rb +27 -1
  13. data/lib/tremendous/models/create_connected_organization_member_session_request.rb +33 -4
  14. data/lib/tremendous/models/create_connected_organization_request.rb +13 -4
  15. data/lib/tremendous/models/{create_report201_response_report.rb → create_connected_organization_request_kyb_prefill.rb} +102 -81
  16. data/lib/tremendous/models/create_field.rb +6 -4
  17. data/lib/tremendous/models/create_field_request.rb +6 -4
  18. data/lib/tremendous/models/create_invoice_request.rb +6 -10
  19. data/lib/tremendous/models/create_order200_response_order.rb +9 -9
  20. data/lib/tremendous/models/create_order200_response_order_rewards_inner_delivery.rb +12 -8
  21. data/lib/tremendous/models/create_report200_response_report.rb +3 -5
  22. data/lib/tremendous/models/create_report_request.rb +12 -8
  23. data/lib/tremendous/models/create_report_request_filters_digital_rewards.rb +6 -10
  24. data/lib/tremendous/models/delivery_details.rb +6 -10
  25. data/lib/tremendous/models/delivery_details_with_link.rb +12 -8
  26. data/lib/tremendous/models/field.rb +3 -5
  27. data/lib/tremendous/models/fraud_config_country.rb +6 -4
  28. data/lib/tremendous/models/fraud_config_redeemed_rewards_amount.rb +6 -4
  29. data/lib/tremendous/models/fraud_config_redeemed_rewards_count.rb +6 -4
  30. data/lib/tremendous/models/{create_campaign201_response.rb → fraud_config_review_vpn.rb} +21 -19
  31. data/lib/tremendous/models/fraud_review.rb +10 -16
  32. data/lib/tremendous/models/fraud_review_base.rb +7 -11
  33. data/lib/tremendous/models/fraud_review_list_item.rb +7 -11
  34. data/lib/tremendous/models/fraud_review_reason.rb +2 -1
  35. data/lib/tremendous/models/fraud_rule_request_config.rb +2 -1
  36. data/lib/tremendous/models/fraud_rules_list_item.rb +4 -6
  37. data/lib/tremendous/models/funding_source.rb +12 -14
  38. data/lib/tremendous/models/get_fraud_review200_response_fraud_review.rb +10 -16
  39. data/lib/tremendous/models/get_member200_response_member.rb +6 -4
  40. data/lib/tremendous/models/get_member200_response_member_events_inner.rb +3 -5
  41. data/lib/tremendous/models/invoice.rb +12 -14
  42. data/lib/tremendous/models/list_campaigns200_response_campaigns_inner.rb +3 -5
  43. data/lib/tremendous/models/list_connected_organization_members200_response_connected_organization_members_inner_member.rb +6 -4
  44. data/lib/tremendous/models/list_connected_organizations200_response_connected_organizations_inner_organization.rb +3 -5
  45. data/lib/tremendous/models/list_fields200_response_fields_inner.rb +3 -5
  46. data/lib/tremendous/models/list_fraud_reviews200_response_fraud_reviews_inner.rb +7 -11
  47. data/lib/tremendous/models/list_fraud_rules200_response_fraud_rules_inner.rb +4 -6
  48. data/lib/tremendous/models/list_funding_sources200_response_funding_sources_inner.rb +12 -14
  49. data/lib/tremendous/models/list_funding_sources200_response_funding_sources_inner_meta.rb +6 -10
  50. data/lib/tremendous/models/list_invoices200_response_invoices_inner.rb +12 -14
  51. data/lib/tremendous/models/list_members200_response_members_inner.rb +6 -4
  52. data/lib/tremendous/models/list_orders200_response_orders_inner.rb +9 -9
  53. data/lib/tremendous/models/list_organizations200_response_organizations_inner.rb +3 -5
  54. data/lib/tremendous/models/list_products_response_products_inner.rb +11 -11
  55. data/lib/tremendous/models/list_products_response_products_inner_images_inner.rb +6 -4
  56. data/lib/tremendous/models/list_rewards200_response_rewards_inner_delivery.rb +6 -10
  57. data/lib/tremendous/models/list_rewards200_response_rewards_inner_value.rb +3 -5
  58. data/lib/tremendous/models/member.rb +6 -4
  59. data/lib/tremendous/models/member_base.rb +6 -4
  60. data/lib/tremendous/models/member_with_events.rb +6 -4
  61. data/lib/tremendous/models/member_without_events.rb +6 -4
  62. data/lib/tremendous/models/order.rb +9 -9
  63. data/lib/tremendous/models/order_base.rb +9 -9
  64. data/lib/tremendous/models/order_with_link.rb +9 -9
  65. data/lib/tremendous/models/order_without_link.rb +9 -9
  66. data/lib/tremendous/models/organization.rb +3 -5
  67. data/lib/tremendous/models/payout.rb +3 -5
  68. data/lib/tremendous/models/product.rb +11 -11
  69. data/lib/tremendous/models/report.rb +3 -5
  70. data/lib/tremendous/models/review_country.rb +6 -4
  71. data/lib/tremendous/models/review_redeemed_rewards_amount.rb +6 -4
  72. data/lib/tremendous/models/review_redeemed_rewards_count.rb +6 -4
  73. data/lib/tremendous/models/{generate_reward_token200_response.rb → review_vpn.rb} +22 -19
  74. data/lib/tremendous/models/reward_value.rb +3 -5
  75. data/lib/tremendous/models/reward_with_link_delivery.rb +12 -8
  76. data/lib/tremendous/models/reward_without_link_delivery.rb +6 -10
  77. data/lib/tremendous/models/single_reward_order_reward_delivery.rb +3 -5
  78. data/lib/tremendous/models/single_reward_order_with_link_order.rb +9 -9
  79. data/lib/tremendous/models/single_reward_order_without_link_order.rb +9 -9
  80. data/lib/tremendous/models/update_campaign.rb +3 -5
  81. data/lib/tremendous/models/update_campaign_request.rb +3 -5
  82. data/lib/tremendous/models/update_fraud_rule_list_request.rb +6 -4
  83. data/lib/tremendous/models/{get_fraud_review200_response_fraud_review_geo.rb → update_member.rb} +28 -32
  84. data/lib/tremendous/models/{create_report201_response.rb → update_member_request.rb} +34 -27
  85. data/lib/tremendous/version.rb +1 -1
  86. data/lib/tremendous.rb +6 -0
  87. metadata +21 -8
  88. data/lib/tremendous/models/create_order201_response.rb +0 -221
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.8.0
9
+ Generator version: 7.12.0
10
10
 
11
11
  =end
12
12
 
@@ -14,76 +14,83 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Tremendous
17
- # Reports represent a collection of your Tremendous data that can be filtered and downloaded. The report object that is returned has a unique ID, a status, and an predicted time of report generation completion. When the report generation is complete, it will also contain an expiring url where you can retrieve your report.
18
- class CreateReport201ResponseReport
19
- # Tremendous ID of the report, used to retrieve your report
20
- attr_accessor :id
21
-
22
- # Status of this report <table> <thead> <tr> <th>Status</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>CREATED</code></td> <td>Report has been created</td> </tr> <tr> <td><code>PROCESSING</code></td> <td>Report is currently being generated</td> </tr> <tr> <td><code>READY_FOR_DOWNLOAD</code></td> <td>Report generation is complete and ready for download</td> </tr> <tr> <td><code>FAILED</code></td> <td>Report failed to generate</td> </tr> </tbody> </table>
23
- attr_accessor :status
24
-
25
- # Timestamp of when the report was created
26
- attr_accessor :created_at
27
-
28
- # Timestamp of when the report is expected to finish generating. If the report is complete, this will return the time the report completed generating at.
29
- attr_accessor :expected_completion_at
30
-
31
- # URL to download the report. Only returned when the report generation is complete and report is ready for download. URL is valid for 7 days from generation completion
32
- attr_accessor :url
33
-
34
- class EnumAttributeValidator
35
- attr_reader :datatype
36
- attr_reader :allowable_values
37
-
38
- def initialize(datatype, allowable_values)
39
- @allowable_values = allowable_values.map do |value|
40
- case datatype.to_s
41
- when /Integer/i
42
- value.to_i
43
- when /Float/i
44
- value.to_f
45
- else
46
- value
47
- end
48
- end
49
- end
17
+ # Optional KYB details to forward for the end client. When provided, these values prefill the end client's onboarding form. Every field is optional.
18
+ class CreateConnectedOrganizationRequestKybPrefill
19
+ # The registered legal name of the company.
20
+ attr_accessor :company_name
50
21
 
51
- def valid?(value)
52
- !value || allowable_values.include?(value)
53
- end
54
- end
22
+ # The trade name (DBA) the company operates under, if different from its legal name.
23
+ attr_accessor :doing_business_as
24
+
25
+ # The company's legal entity type. Free-form text; any value is accepted. Common values include `Sole proprietorship`, `Corporation (Inc)`, `Limited liability company (LLC)`, `Limited liability partnership (LLP)`, `Public limited company (PLC)`, and `Private limited company (LTD)`.
26
+ attr_accessor :company_structure
27
+
28
+ # The company's tax ID or registration number.
29
+ attr_accessor :company_registration_number
30
+
31
+ # The ISO 3166-1 alpha-2 country code of the company. Must be a supported country.
32
+ attr_accessor :country_code
33
+
34
+ # The company's website URL. Must be a well-formed URL.
35
+ attr_accessor :website_url
36
+
37
+ # The company's street address.
38
+ attr_accessor :address_1
39
+
40
+ # The company's city.
41
+ attr_accessor :city
42
+
43
+ # The company's state or province.
44
+ attr_accessor :state
45
+
46
+ # The company's ZIP or postal code.
47
+ attr_accessor :postal_code
55
48
 
56
49
  # Attribute mapping from ruby-style variable name to JSON key.
57
50
  def self.attribute_map
58
51
  {
59
- :'id' => :'id',
60
- :'status' => :'status',
61
- :'created_at' => :'created_at',
62
- :'expected_completion_at' => :'expected_completion_at',
63
- :'url' => :'url'
52
+ :'company_name' => :'company_name',
53
+ :'doing_business_as' => :'doing_business_as',
54
+ :'company_structure' => :'company_structure',
55
+ :'company_registration_number' => :'company_registration_number',
56
+ :'country_code' => :'country_code',
57
+ :'website_url' => :'website_url',
58
+ :'address_1' => :'address_1',
59
+ :'city' => :'city',
60
+ :'state' => :'state',
61
+ :'postal_code' => :'postal_code'
64
62
  }
65
63
  end
66
64
 
65
+ # Returns attribute mapping this model knows about
66
+ def self.acceptable_attribute_map
67
+ attribute_map
68
+ end
69
+
67
70
  # Returns all the JSON keys this model knows about
68
71
  def self.acceptable_attributes
69
- attribute_map.values
72
+ acceptable_attribute_map.values
70
73
  end
71
74
 
72
75
  # Attribute type mapping.
73
76
  def self.openapi_types
74
77
  {
75
- :'id' => :'String',
76
- :'status' => :'String',
77
- :'created_at' => :'Time',
78
- :'expected_completion_at' => :'Time',
79
- :'url' => :'String'
78
+ :'company_name' => :'String',
79
+ :'doing_business_as' => :'String',
80
+ :'company_structure' => :'String',
81
+ :'company_registration_number' => :'String',
82
+ :'country_code' => :'String',
83
+ :'website_url' => :'String',
84
+ :'address_1' => :'String',
85
+ :'city' => :'String',
86
+ :'state' => :'String',
87
+ :'postal_code' => :'String'
80
88
  }
81
89
  end
82
90
 
83
91
  # List of attributes with nullable: true
84
92
  def self.openapi_nullable
85
93
  Set.new([
86
- :'url'
87
94
  ])
88
95
  end
89
96
 
@@ -91,35 +98,56 @@ module Tremendous
91
98
  # @param [Hash] attributes Model attributes in the form of hash
92
99
  def initialize(attributes = {})
93
100
  if (!attributes.is_a?(Hash))
94
- fail ArgumentError, "The input argument (attributes) must be a hash in `Tremendous::CreateReport201ResponseReport` initialize method"
101
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Tremendous::CreateConnectedOrganizationRequestKybPrefill` initialize method"
95
102
  end
96
103
 
97
104
  # check to see if the attribute exists and convert string to symbol for hash key
105
+ acceptable_attribute_map = self.class.acceptable_attribute_map
98
106
  attributes = attributes.each_with_object({}) { |(k, v), h|
99
- if (!self.class.attribute_map.key?(k.to_sym))
100
- fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateReport201ResponseReport`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
107
+ if (!acceptable_attribute_map.key?(k.to_sym))
108
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateConnectedOrganizationRequestKybPrefill`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
101
109
  end
102
110
  h[k.to_sym] = v
103
111
  }
104
112
 
105
- if attributes.key?(:'id')
106
- self.id = attributes[:'id']
113
+ if attributes.key?(:'company_name')
114
+ self.company_name = attributes[:'company_name']
115
+ end
116
+
117
+ if attributes.key?(:'doing_business_as')
118
+ self.doing_business_as = attributes[:'doing_business_as']
119
+ end
120
+
121
+ if attributes.key?(:'company_structure')
122
+ self.company_structure = attributes[:'company_structure']
123
+ end
124
+
125
+ if attributes.key?(:'company_registration_number')
126
+ self.company_registration_number = attributes[:'company_registration_number']
107
127
  end
108
128
 
109
- if attributes.key?(:'status')
110
- self.status = attributes[:'status']
129
+ if attributes.key?(:'country_code')
130
+ self.country_code = attributes[:'country_code']
111
131
  end
112
132
 
113
- if attributes.key?(:'created_at')
114
- self.created_at = attributes[:'created_at']
133
+ if attributes.key?(:'website_url')
134
+ self.website_url = attributes[:'website_url']
115
135
  end
116
136
 
117
- if attributes.key?(:'expected_completion_at')
118
- self.expected_completion_at = attributes[:'expected_completion_at']
137
+ if attributes.key?(:'address_1')
138
+ self.address_1 = attributes[:'address_1']
119
139
  end
120
140
 
121
- if attributes.key?(:'url')
122
- self.url = attributes[:'url']
141
+ if attributes.key?(:'city')
142
+ self.city = attributes[:'city']
143
+ end
144
+
145
+ if attributes.key?(:'state')
146
+ self.state = attributes[:'state']
147
+ end
148
+
149
+ if attributes.key?(:'postal_code')
150
+ self.postal_code = attributes[:'postal_code']
123
151
  end
124
152
  end
125
153
 
@@ -135,31 +163,24 @@ module Tremendous
135
163
  # @return true if the model is valid
136
164
  def valid?
137
165
  warn '[DEPRECATED] the `valid?` method is obsolete'
138
- status_validator = EnumAttributeValidator.new('String', ["CREATED", "PROCESSING", "READY_FOR_DOWNLOAD", "FAILED"])
139
- return false unless status_validator.valid?(@status)
140
166
  true
141
167
  end
142
168
 
143
- # Custom attribute writer method checking allowed values (enum).
144
- # @param [Object] status Object to be assigned
145
- def status=(status)
146
- validator = EnumAttributeValidator.new('String', ["CREATED", "PROCESSING", "READY_FOR_DOWNLOAD", "FAILED"])
147
- unless validator.valid?(status)
148
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
149
- end
150
- @status = status
151
- end
152
-
153
169
  # Checks equality by comparing each attribute.
154
170
  # @param [Object] Object to be compared
155
171
  def ==(o)
156
172
  return true if self.equal?(o)
157
173
  self.class == o.class &&
158
- id == o.id &&
159
- status == o.status &&
160
- created_at == o.created_at &&
161
- expected_completion_at == o.expected_completion_at &&
162
- url == o.url
174
+ company_name == o.company_name &&
175
+ doing_business_as == o.doing_business_as &&
176
+ company_structure == o.company_structure &&
177
+ company_registration_number == o.company_registration_number &&
178
+ country_code == o.country_code &&
179
+ website_url == o.website_url &&
180
+ address_1 == o.address_1 &&
181
+ city == o.city &&
182
+ state == o.state &&
183
+ postal_code == o.postal_code
163
184
  end
164
185
 
165
186
  # @see the `==` method
@@ -171,7 +192,7 @@ module Tremendous
171
192
  # Calculates hash code according to all attributes.
172
193
  # @return [Integer] Hash code
173
194
  def hash
174
- [id, status, created_at, expected_completion_at, url].hash
195
+ [company_name, doing_business_as, company_structure, company_registration_number, country_code, website_url, address_1, city, state, postal_code].hash
175
196
  end
176
197
 
177
198
  # Builds the object from hash
@@ -169,13 +169,15 @@ module Tremendous
169
169
  @display_name = display_name
170
170
  end
171
171
 
172
- # Custom attribute writer method checking allowed values (enum).
172
+ # Custom attribute writer method for enum attributes. Any value is accepted
173
+ # so that enum values added to the API don't break deserialization on
174
+ # older versions of this gem.
173
175
  # @param [Object] data_type Object to be assigned
174
176
  def data_type=(data_type)
175
- validator = EnumAttributeValidator.new('String', ["Checkbox", "Currency", "Date", "Dropdown", "Email", "List", "Number", "Phone", "Text", "TextArea"])
176
- unless validator.valid?(data_type)
177
- fail ArgumentError, "invalid value for \"data_type\", must be one of #{validator.allowable_values}."
177
+ if data_type.nil?
178
+ fail ArgumentError, 'data_type cannot be nil'
178
179
  end
180
+
179
181
  @data_type = data_type
180
182
  end
181
183
 
@@ -169,13 +169,15 @@ module Tremendous
169
169
  @display_name = display_name
170
170
  end
171
171
 
172
- # Custom attribute writer method checking allowed values (enum).
172
+ # Custom attribute writer method for enum attributes. Any value is accepted
173
+ # so that enum values added to the API don't break deserialization on
174
+ # older versions of this gem.
173
175
  # @param [Object] data_type Object to be assigned
174
176
  def data_type=(data_type)
175
- validator = EnumAttributeValidator.new('String', ["Checkbox", "Currency", "Date", "Dropdown", "Email", "List", "Number", "Phone", "Text", "TextArea"])
176
- unless validator.valid?(data_type)
177
- fail ArgumentError, "invalid value for \"data_type\", must be one of #{validator.allowable_values}."
177
+ if data_type.nil?
178
+ fail ArgumentError, 'data_type cannot be nil'
178
179
  end
180
+
179
181
  @data_type = data_type
180
182
  end
181
183
 
@@ -165,23 +165,19 @@ module Tremendous
165
165
  @amount = amount
166
166
  end
167
167
 
168
- # Custom attribute writer method checking allowed values (enum).
168
+ # Custom attribute writer method for enum attributes. Any value is accepted
169
+ # so that enum values added to the API don't break deserialization on
170
+ # older versions of this gem.
169
171
  # @param [Object] currency_code Object to be assigned
170
172
  def currency_code=(currency_code)
171
- validator = EnumAttributeValidator.new('String', ["USD", "EUR", "GBP"])
172
- unless validator.valid?(currency_code)
173
- fail ArgumentError, "invalid value for \"currency_code\", must be one of #{validator.allowable_values}."
174
- end
175
173
  @currency_code = currency_code
176
174
  end
177
175
 
178
- # Custom attribute writer method checking allowed values (enum).
176
+ # Custom attribute writer method for enum attributes. Any value is accepted
177
+ # so that enum values added to the API don't break deserialization on
178
+ # older versions of this gem.
179
179
  # @param [Object] currency Object to be assigned
180
180
  def currency=(currency)
181
- validator = EnumAttributeValidator.new('String', ["USD", "EUR", "GBP"])
182
- unless validator.valid?(currency)
183
- fail ArgumentError, "invalid value for \"currency\", must be one of #{validator.allowable_values}."
184
- end
185
181
  @currency = currency
186
182
  end
187
183
 
@@ -254,23 +254,23 @@ module Tremendous
254
254
  @created_at = created_at
255
255
  end
256
256
 
257
- # Custom attribute writer method checking allowed values (enum).
257
+ # Custom attribute writer method for enum attributes. Any value is accepted
258
+ # so that enum values added to the API don't break deserialization on
259
+ # older versions of this gem.
258
260
  # @param [Object] status Object to be assigned
259
261
  def status=(status)
260
- validator = EnumAttributeValidator.new('String', ["CANCELED", "OPEN", "EXECUTED", "FAILED", "PENDING APPROVAL", "PENDING INTERNAL PAYMENT APPROVAL", "PENDING SETTLEMENT"])
261
- unless validator.valid?(status)
262
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
262
+ if status.nil?
263
+ fail ArgumentError, 'status cannot be nil'
263
264
  end
265
+
264
266
  @status = status
265
267
  end
266
268
 
267
- # Custom attribute writer method checking allowed values (enum).
269
+ # Custom attribute writer method for enum attributes. Any value is accepted
270
+ # so that enum values added to the API don't break deserialization on
271
+ # older versions of this gem.
268
272
  # @param [Object] channel Object to be assigned
269
273
  def channel=(channel)
270
- validator = EnumAttributeValidator.new('String', ["UI", "API", "EMBED", "DECIPHER", "QUALTRICS", "TYPEFORM", "SURVEY MONKEY", "YOTPO"])
271
- unless validator.valid?(channel)
272
- fail ArgumentError, "invalid value for \"channel\", must be one of #{validator.allowable_values}."
273
- end
274
274
  @channel = channel
275
275
  end
276
276
 
@@ -143,23 +143,27 @@ module Tremendous
143
143
  true
144
144
  end
145
145
 
146
- # Custom attribute writer method checking allowed values (enum).
146
+ # Custom attribute writer method for enum attributes. Any value is accepted
147
+ # so that enum values added to the API don't break deserialization on
148
+ # older versions of this gem.
147
149
  # @param [Object] method Object to be assigned
148
150
  def method=(method)
149
- validator = EnumAttributeValidator.new('String', ["EMAIL", "LINK", "PHONE"])
150
- unless validator.valid?(method)
151
- fail ArgumentError, "invalid value for \"method\", must be one of #{validator.allowable_values}."
151
+ if method.nil?
152
+ fail ArgumentError, 'method cannot be nil'
152
153
  end
154
+
153
155
  @method = method
154
156
  end
155
157
 
156
- # Custom attribute writer method checking allowed values (enum).
158
+ # Custom attribute writer method for enum attributes. Any value is accepted
159
+ # so that enum values added to the API don't break deserialization on
160
+ # older versions of this gem.
157
161
  # @param [Object] status Object to be assigned
158
162
  def status=(status)
159
- validator = EnumAttributeValidator.new('String', ["SCHEDULED", "FAILED", "SUCCEEDED", "PENDING"])
160
- unless validator.valid?(status)
161
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
163
+ if status.nil?
164
+ fail ArgumentError, 'status cannot be nil'
162
165
  end
166
+
163
167
  @status = status
164
168
  end
165
169
 
@@ -146,13 +146,11 @@ module Tremendous
146
146
  true
147
147
  end
148
148
 
149
- # Custom attribute writer method checking allowed values (enum).
149
+ # Custom attribute writer method for enum attributes. Any value is accepted
150
+ # so that enum values added to the API don't break deserialization on
151
+ # older versions of this gem.
150
152
  # @param [Object] status Object to be assigned
151
153
  def status=(status)
152
- validator = EnumAttributeValidator.new('String', ["CREATED", "PROCESSING", "READY_FOR_DOWNLOAD", "FAILED"])
153
- unless validator.valid?(status)
154
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
155
- end
156
154
  @status = status
157
155
  end
158
156
 
@@ -142,23 +142,27 @@ module Tremendous
142
142
  true
143
143
  end
144
144
 
145
- # Custom attribute writer method checking allowed values (enum).
145
+ # Custom attribute writer method for enum attributes. Any value is accepted
146
+ # so that enum values added to the API don't break deserialization on
147
+ # older versions of this gem.
146
148
  # @param [Object] report_type Object to be assigned
147
149
  def report_type=(report_type)
148
- validator = EnumAttributeValidator.new('String', ["digital_rewards"])
149
- unless validator.valid?(report_type)
150
- fail ArgumentError, "invalid value for \"report_type\", must be one of #{validator.allowable_values}."
150
+ if report_type.nil?
151
+ fail ArgumentError, 'report_type cannot be nil'
151
152
  end
153
+
152
154
  @report_type = report_type
153
155
  end
154
156
 
155
- # Custom attribute writer method checking allowed values (enum).
157
+ # Custom attribute writer method for enum attributes. Any value is accepted
158
+ # so that enum values added to the API don't break deserialization on
159
+ # older versions of this gem.
156
160
  # @param [Object] format Object to be assigned
157
161
  def format=(format)
158
- validator = EnumAttributeValidator.new('String', ["csv"])
159
- unless validator.valid?(format)
160
- fail ArgumentError, "invalid value for \"format\", must be one of #{validator.allowable_values}."
162
+ if format.nil?
163
+ fail ArgumentError, 'format cannot be nil'
161
164
  end
165
+
162
166
  @format = format
163
167
  end
164
168
 
@@ -182,23 +182,19 @@ module Tremendous
182
182
  true
183
183
  end
184
184
 
185
- # Custom attribute writer method checking allowed values (enum).
185
+ # Custom attribute writer method for enum attributes. Any value is accepted
186
+ # so that enum values added to the API don't break deserialization on
187
+ # older versions of this gem.
186
188
  # @param [Object] delivery_method Object to be assigned
187
189
  def delivery_method=(delivery_method)
188
- validator = EnumAttributeValidator.new('String', ["phone", "email", "link", "mail", "direct"])
189
- unless validator.valid?(delivery_method)
190
- fail ArgumentError, "invalid value for \"delivery_method\", must be one of #{validator.allowable_values}."
191
- end
192
190
  @delivery_method = delivery_method
193
191
  end
194
192
 
195
- # Custom attribute writer method checking allowed values (enum).
193
+ # Custom attribute writer method for enum attributes. Any value is accepted
194
+ # so that enum values added to the API don't break deserialization on
195
+ # older versions of this gem.
196
196
  # @param [Object] order_status Object to be assigned
197
197
  def order_status=(order_status)
198
- validator = EnumAttributeValidator.new('String', ["executed", "canceled", "failed", "pending_approval"])
199
- unless validator.valid?(order_status)
200
- fail ArgumentError, "invalid value for \"order_status\", must be one of #{validator.allowable_values}."
201
- end
202
198
  @order_status = order_status
203
199
  end
204
200
 
@@ -120,23 +120,19 @@ module Tremendous
120
120
  true
121
121
  end
122
122
 
123
- # Custom attribute writer method checking allowed values (enum).
123
+ # Custom attribute writer method for enum attributes. Any value is accepted
124
+ # so that enum values added to the API don't break deserialization on
125
+ # older versions of this gem.
124
126
  # @param [Object] method Object to be assigned
125
127
  def method=(method)
126
- validator = EnumAttributeValidator.new('String', ["EMAIL", "LINK", "PHONE"])
127
- unless validator.valid?(method)
128
- fail ArgumentError, "invalid value for \"method\", must be one of #{validator.allowable_values}."
129
- end
130
128
  @method = method
131
129
  end
132
130
 
133
- # Custom attribute writer method checking allowed values (enum).
131
+ # Custom attribute writer method for enum attributes. Any value is accepted
132
+ # so that enum values added to the API don't break deserialization on
133
+ # older versions of this gem.
134
134
  # @param [Object] status Object to be assigned
135
135
  def status=(status)
136
- validator = EnumAttributeValidator.new('String', ["SCHEDULED", "FAILED", "SUCCEEDED", "PENDING"])
137
- unless validator.valid?(status)
138
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
139
- end
140
136
  @status = status
141
137
  end
142
138
 
@@ -143,23 +143,27 @@ module Tremendous
143
143
  true
144
144
  end
145
145
 
146
- # Custom attribute writer method checking allowed values (enum).
146
+ # Custom attribute writer method for enum attributes. Any value is accepted
147
+ # so that enum values added to the API don't break deserialization on
148
+ # older versions of this gem.
147
149
  # @param [Object] method Object to be assigned
148
150
  def method=(method)
149
- validator = EnumAttributeValidator.new('String', ["EMAIL", "LINK", "PHONE"])
150
- unless validator.valid?(method)
151
- fail ArgumentError, "invalid value for \"method\", must be one of #{validator.allowable_values}."
151
+ if method.nil?
152
+ fail ArgumentError, 'method cannot be nil'
152
153
  end
154
+
153
155
  @method = method
154
156
  end
155
157
 
156
- # Custom attribute writer method checking allowed values (enum).
158
+ # Custom attribute writer method for enum attributes. Any value is accepted
159
+ # so that enum values added to the API don't break deserialization on
160
+ # older versions of this gem.
157
161
  # @param [Object] status Object to be assigned
158
162
  def status=(status)
159
- validator = EnumAttributeValidator.new('String', ["SCHEDULED", "FAILED", "SUCCEEDED", "PENDING"])
160
- unless validator.valid?(status)
161
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
163
+ if status.nil?
164
+ fail ArgumentError, 'status cannot be nil'
162
165
  end
166
+
163
167
  @status = status
164
168
  end
165
169
 
@@ -172,13 +172,11 @@ module Tremendous
172
172
  @id = id
173
173
  end
174
174
 
175
- # Custom attribute writer method checking allowed values (enum).
175
+ # Custom attribute writer method for enum attributes. Any value is accepted
176
+ # so that enum values added to the API don't break deserialization on
177
+ # older versions of this gem.
176
178
  # @param [Object] data_type Object to be assigned
177
179
  def data_type=(data_type)
178
- validator = EnumAttributeValidator.new('String', ["Checkbox", "Currency", "Date", "Dropdown", "Email", "List", "Number", "Phone", "Text", "TextArea"])
179
- unless validator.valid?(data_type)
180
- fail ArgumentError, "invalid value for \"data_type\", must be one of #{validator.allowable_values}."
181
- end
182
180
  @data_type = data_type
183
181
  end
184
182
 
@@ -133,13 +133,15 @@ module Tremendous
133
133
  true
134
134
  end
135
135
 
136
- # Custom attribute writer method checking allowed values (enum).
136
+ # Custom attribute writer method for enum attributes. Any value is accepted
137
+ # so that enum values added to the API don't break deserialization on
138
+ # older versions of this gem.
137
139
  # @param [Object] type Object to be assigned
138
140
  def type=(type)
139
- validator = EnumAttributeValidator.new('String', ["whitelist", "blacklist"])
140
- unless validator.valid?(type)
141
- fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
141
+ if type.nil?
142
+ fail ArgumentError, 'type cannot be nil'
142
143
  end
144
+
143
145
  @type = type
144
146
  end
145
147
 
@@ -150,13 +150,15 @@ module Tremendous
150
150
  @amount = amount
151
151
  end
152
152
 
153
- # Custom attribute writer method checking allowed values (enum).
153
+ # Custom attribute writer method for enum attributes. Any value is accepted
154
+ # so that enum values added to the API don't break deserialization on
155
+ # older versions of this gem.
154
156
  # @param [Object] period Object to be assigned
155
157
  def period=(period)
156
- validator = EnumAttributeValidator.new('String', ["7", "30", "90", "120", "365", "all_time"])
157
- unless validator.valid?(period)
158
- fail ArgumentError, "invalid value for \"period\", must be one of #{validator.allowable_values}."
158
+ if period.nil?
159
+ fail ArgumentError, 'period cannot be nil'
159
160
  end
161
+
160
162
  @period = period
161
163
  end
162
164
 
@@ -150,13 +150,15 @@ module Tremendous
150
150
  @amount = amount
151
151
  end
152
152
 
153
- # Custom attribute writer method checking allowed values (enum).
153
+ # Custom attribute writer method for enum attributes. Any value is accepted
154
+ # so that enum values added to the API don't break deserialization on
155
+ # older versions of this gem.
154
156
  # @param [Object] period Object to be assigned
155
157
  def period=(period)
156
- validator = EnumAttributeValidator.new('String', ["7", "30", "90", "120", "365", "all_time"])
157
- unless validator.valid?(period)
158
- fail ArgumentError, "invalid value for \"period\", must be one of #{validator.allowable_values}."
158
+ if period.nil?
159
+ fail ArgumentError, 'period cannot be nil'
159
160
  end
161
+
160
162
  @period = period
161
163
  end
162
164