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,25 +14,31 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Tremendous
17
- class CreateCampaign201Response
18
- attr_accessor :campaign
17
+ class FraudConfigReviewVpn
18
+ # Whether Apple Private Relay traffic should be excluded from VPN fraud review. When omitted or false, Apple Private Relay traffic is flagged with other VPN and proxy traffic.
19
+ attr_accessor :skip_apple_private_relay
19
20
 
20
21
  # Attribute mapping from ruby-style variable name to JSON key.
21
22
  def self.attribute_map
22
23
  {
23
- :'campaign' => :'campaign'
24
+ :'skip_apple_private_relay' => :'skip_apple_private_relay'
24
25
  }
25
26
  end
26
27
 
28
+ # Returns attribute mapping this model knows about
29
+ def self.acceptable_attribute_map
30
+ attribute_map
31
+ end
32
+
27
33
  # Returns all the JSON keys this model knows about
28
34
  def self.acceptable_attributes
29
- attribute_map.values
35
+ acceptable_attribute_map.values
30
36
  end
31
37
 
32
38
  # Attribute type mapping.
33
39
  def self.openapi_types
34
40
  {
35
- :'campaign' => :'ListCampaigns200ResponseCampaignsInner'
41
+ :'skip_apple_private_relay' => :'Boolean'
36
42
  }
37
43
  end
38
44
 
@@ -46,21 +52,22 @@ module Tremendous
46
52
  # @param [Hash] attributes Model attributes in the form of hash
47
53
  def initialize(attributes = {})
48
54
  if (!attributes.is_a?(Hash))
49
- fail ArgumentError, "The input argument (attributes) must be a hash in `Tremendous::CreateCampaign201Response` initialize method"
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Tremendous::FraudConfigReviewVpn` initialize method"
50
56
  end
51
57
 
52
58
  # check to see if the attribute exists and convert string to symbol for hash key
59
+ acceptable_attribute_map = self.class.acceptable_attribute_map
53
60
  attributes = attributes.each_with_object({}) { |(k, v), h|
54
- if (!self.class.attribute_map.key?(k.to_sym))
55
- fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateCampaign201Response`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
61
+ if (!acceptable_attribute_map.key?(k.to_sym))
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::FraudConfigReviewVpn`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
56
63
  end
57
64
  h[k.to_sym] = v
58
65
  }
59
66
 
60
- if attributes.key?(:'campaign')
61
- self.campaign = attributes[:'campaign']
67
+ if attributes.key?(:'skip_apple_private_relay')
68
+ self.skip_apple_private_relay = attributes[:'skip_apple_private_relay']
62
69
  else
63
- self.campaign = nil
70
+ self.skip_apple_private_relay = false
64
71
  end
65
72
  end
66
73
 
@@ -69,10 +76,6 @@ module Tremendous
69
76
  def list_invalid_properties
70
77
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
71
78
  invalid_properties = Array.new
72
- if @campaign.nil?
73
- invalid_properties.push('invalid value for "campaign", campaign cannot be nil.')
74
- end
75
-
76
79
  invalid_properties
77
80
  end
78
81
 
@@ -80,7 +83,6 @@ module Tremendous
80
83
  # @return true if the model is valid
81
84
  def valid?
82
85
  warn '[DEPRECATED] the `valid?` method is obsolete'
83
- return false if @campaign.nil?
84
86
  true
85
87
  end
86
88
 
@@ -89,7 +91,7 @@ module Tremendous
89
91
  def ==(o)
90
92
  return true if self.equal?(o)
91
93
  self.class == o.class &&
92
- campaign == o.campaign
94
+ skip_apple_private_relay == o.skip_apple_private_relay
93
95
  end
94
96
 
95
97
  # @see the `==` method
@@ -101,7 +103,7 @@ module Tremendous
101
103
  # Calculates hash code according to all attributes.
102
104
  # @return [Integer] Hash code
103
105
  def hash
104
- [campaign].hash
106
+ [skip_apple_private_relay].hash
105
107
  end
106
108
 
107
109
  # Builds the object from hash
@@ -19,7 +19,7 @@ module Tremendous
19
19
  # The current status of the fraud review: * `flagged` - The reward has been flagged for and waiting manual review. * `blocked` - The reward was reviewed and blocked. * `released` - The reward was reviewed and released.
20
20
  attr_accessor :status
21
21
 
22
- # The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country`
22
+ # The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Apple Private Relay` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country`
23
23
  attr_accessor :reasons
24
24
 
25
25
  # The device fingerprint, if known.
@@ -211,33 +211,27 @@ module Tremendous
211
211
  true
212
212
  end
213
213
 
214
- # Custom attribute writer method checking allowed values (enum).
214
+ # Custom attribute writer method for enum attributes. Any value is accepted
215
+ # so that enum values added to the API don't break deserialization on
216
+ # older versions of this gem.
215
217
  # @param [Object] status Object to be assigned
216
218
  def status=(status)
217
- validator = EnumAttributeValidator.new('String', ["flagged", "blocked", "released"])
218
- unless validator.valid?(status)
219
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
220
- end
221
219
  @status = status
222
220
  end
223
221
 
224
- # Custom attribute writer method checking allowed values (enum).
222
+ # Custom attribute writer method for enum attributes. Any value is accepted
223
+ # so that enum values added to the API don't break deserialization on
224
+ # older versions of this gem.
225
225
  # @param [Object] redemption_method Object to be assigned
226
226
  def redemption_method=(redemption_method)
227
- validator = EnumAttributeValidator.new('String', ["bank transfer", "charity", "instant debit transfer", "international bank transfer", "merchant card", "paypal", "venmo", "visa card"])
228
- unless validator.valid?(redemption_method)
229
- fail ArgumentError, "invalid value for \"redemption_method\", must be one of #{validator.allowable_values}."
230
- end
231
227
  @redemption_method = redemption_method
232
228
  end
233
229
 
234
- # Custom attribute writer method checking allowed values (enum).
230
+ # Custom attribute writer method for enum attributes. Any value is accepted
231
+ # so that enum values added to the API don't break deserialization on
232
+ # older versions of this gem.
235
233
  # @param [Object] risk Object to be assigned
236
234
  def risk=(risk)
237
- validator = EnumAttributeValidator.new('String', ["high", "medium", "low"])
238
- unless validator.valid?(risk)
239
- fail ArgumentError, "invalid value for \"risk\", must be one of #{validator.allowable_values}."
240
- end
241
235
  @risk = risk
242
236
  end
243
237
 
@@ -19,7 +19,7 @@ module Tremendous
19
19
  # The current status of the fraud review: * `flagged` - The reward has been flagged for and waiting manual review. * `blocked` - The reward was reviewed and blocked. * `released` - The reward was reviewed and released.
20
20
  attr_accessor :status
21
21
 
22
- # The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country`
22
+ # The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Apple Private Relay` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country`
23
23
  attr_accessor :reasons
24
24
 
25
25
  # The device fingerprint, if known.
@@ -192,23 +192,19 @@ module Tremendous
192
192
  true
193
193
  end
194
194
 
195
- # Custom attribute writer method checking allowed values (enum).
195
+ # Custom attribute writer method for enum attributes. Any value is accepted
196
+ # so that enum values added to the API don't break deserialization on
197
+ # older versions of this gem.
196
198
  # @param [Object] status Object to be assigned
197
199
  def status=(status)
198
- validator = EnumAttributeValidator.new('String', ["flagged", "blocked", "released"])
199
- unless validator.valid?(status)
200
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
201
- end
202
200
  @status = status
203
201
  end
204
202
 
205
- # Custom attribute writer method checking allowed values (enum).
203
+ # Custom attribute writer method for enum attributes. Any value is accepted
204
+ # so that enum values added to the API don't break deserialization on
205
+ # older versions of this gem.
206
206
  # @param [Object] redemption_method Object to be assigned
207
207
  def redemption_method=(redemption_method)
208
- validator = EnumAttributeValidator.new('String', ["bank transfer", "charity", "instant debit transfer", "international bank transfer", "merchant card", "paypal", "venmo", "visa card"])
209
- unless validator.valid?(redemption_method)
210
- fail ArgumentError, "invalid value for \"redemption_method\", must be one of #{validator.allowable_values}."
211
- end
212
208
  @redemption_method = redemption_method
213
209
  end
214
210
 
@@ -19,7 +19,7 @@ module Tremendous
19
19
  # The current status of the fraud review: * `flagged` - The reward has been flagged for and waiting manual review. * `blocked` - The reward was reviewed and blocked. * `released` - The reward was reviewed and released.
20
20
  attr_accessor :status
21
21
 
22
- # The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country`
22
+ # The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Apple Private Relay` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country`
23
23
  attr_accessor :reasons
24
24
 
25
25
  # The device fingerprint, if known.
@@ -192,23 +192,19 @@ module Tremendous
192
192
  true
193
193
  end
194
194
 
195
- # Custom attribute writer method checking allowed values (enum).
195
+ # Custom attribute writer method for enum attributes. Any value is accepted
196
+ # so that enum values added to the API don't break deserialization on
197
+ # older versions of this gem.
196
198
  # @param [Object] status Object to be assigned
197
199
  def status=(status)
198
- validator = EnumAttributeValidator.new('String', ["flagged", "blocked", "released"])
199
- unless validator.valid?(status)
200
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
201
- end
202
200
  @status = status
203
201
  end
204
202
 
205
- # Custom attribute writer method checking allowed values (enum).
203
+ # Custom attribute writer method for enum attributes. Any value is accepted
204
+ # so that enum values added to the API don't break deserialization on
205
+ # older versions of this gem.
206
206
  # @param [Object] redemption_method Object to be assigned
207
207
  def redemption_method=(redemption_method)
208
- validator = EnumAttributeValidator.new('String', ["bank transfer", "charity", "instant debit transfer", "international bank transfer", "merchant card", "paypal", "venmo", "visa card"])
209
- unless validator.valid?(redemption_method)
210
- fail ArgumentError, "invalid value for \"redemption_method\", must be one of #{validator.allowable_values}."
211
- end
212
208
  @redemption_method = redemption_method
213
209
  end
214
210
 
@@ -21,6 +21,7 @@ module Tremendous
21
21
  OVER_REWARD_AMOUNT_LIMIT = "Over reward amount limit".freeze
22
22
  OVER_REWARD_COUNT_LIMIT = "Over reward count limit".freeze
23
23
  VPN_DETECTED = "VPN detected".freeze
24
+ APPLE_PRIVATE_RELAY = "Apple Private Relay".freeze
24
25
  DEVICE_RELATED_TO_MULTIPLE_EMAILS = "Device related to multiple emails".freeze
25
26
  DEVICE_OR_ACCOUNT_RELATED_TO_MULTIPLE_EMAILS = "Device or account related to multiple emails".freeze
26
27
  IP_ON_A_TREMENDOUS_FRAUD_LIST = "IP on a Tremendous fraud list".freeze
@@ -40,7 +41,7 @@ module Tremendous
40
41
  ALLOWED_COUNTRY = "Allowed country".freeze
41
42
 
42
43
  def self.all_vars
43
- @all_vars ||= [DISALLOWED_IP, DISALLOWED_EMAIL, DISALLOWED_COUNTRY, OVER_REWARD_AMOUNT_LIMIT, OVER_REWARD_COUNT_LIMIT, VPN_DETECTED, DEVICE_RELATED_TO_MULTIPLE_EMAILS, DEVICE_OR_ACCOUNT_RELATED_TO_MULTIPLE_EMAILS, IP_ON_A_TREMENDOUS_FRAUD_LIST, BANK_ACCOUNT_ON_A_TREMENDOUS_FRAUD_LIST, FINGERPRINT_ON_A_TREMENDOUS_FRAUD_LIST, EMAIL_ON_A_TREMENDOUS_FRAUD_LIST, PHONE_ON_A_TREMENDOUS_FRAUD_LIST, DEVICE_ON_A_TREMENDOUS_FRAUD_LIST, IP_RELATED_TO_A_BLOCKED_REWARD, DEVICE_RELATED_TO_A_BLOCKED_REWARD, BANK_ACCOUNT_RELATED_TO_A_BLOCKED_REWARD, FINGERPRINT_RELATED_TO_A_BLOCKED_REWARD, EMAIL_RELATED_TO_A_BLOCKED_REWARD, PHONE_RELATED_TO_A_BLOCKED_REWARD, ALLOWED_IP, ALLOWED_EMAIL, ALLOWED_COUNTRY].freeze
44
+ @all_vars ||= [DISALLOWED_IP, DISALLOWED_EMAIL, DISALLOWED_COUNTRY, OVER_REWARD_AMOUNT_LIMIT, OVER_REWARD_COUNT_LIMIT, VPN_DETECTED, APPLE_PRIVATE_RELAY, DEVICE_RELATED_TO_MULTIPLE_EMAILS, DEVICE_OR_ACCOUNT_RELATED_TO_MULTIPLE_EMAILS, IP_ON_A_TREMENDOUS_FRAUD_LIST, BANK_ACCOUNT_ON_A_TREMENDOUS_FRAUD_LIST, FINGERPRINT_ON_A_TREMENDOUS_FRAUD_LIST, EMAIL_ON_A_TREMENDOUS_FRAUD_LIST, PHONE_ON_A_TREMENDOUS_FRAUD_LIST, DEVICE_ON_A_TREMENDOUS_FRAUD_LIST, IP_RELATED_TO_A_BLOCKED_REWARD, DEVICE_RELATED_TO_A_BLOCKED_REWARD, BANK_ACCOUNT_RELATED_TO_A_BLOCKED_REWARD, FINGERPRINT_RELATED_TO_A_BLOCKED_REWARD, EMAIL_RELATED_TO_A_BLOCKED_REWARD, PHONE_RELATED_TO_A_BLOCKED_REWARD, ALLOWED_IP, ALLOWED_EMAIL, ALLOWED_COUNTRY].freeze
44
45
  end
45
46
 
46
47
  # Builds the enum from string
@@ -26,7 +26,8 @@ module Tremendous
26
26
  :'ReviewEmail',
27
27
  :'ReviewIp',
28
28
  :'ReviewRedeemedRewardsAmount',
29
- :'ReviewRedeemedRewardsCount'
29
+ :'ReviewRedeemedRewardsCount',
30
+ :'ReviewVpn'
30
31
  ]
31
32
  end
32
33
 
@@ -16,7 +16,7 @@ require 'time'
16
16
  module Tremendous
17
17
  # An active fraud rule
18
18
  class FraudRulesListItem
19
- # * `review_country` - Flags when the recipient's IP country matches the criteria in the rule * `review_ip` - Flags when recipient's IP matches one in the list * `review_email` - Flags when the recipient's email matches one in the list * `review_redeemed_rewards_count` - Flags when the recipient redeemed more than the number of rewards specified in the config * `review_redeemed_rewards_amount` - Flags when the recipient redeemed more than the total amount specified in the config. The amount is denominated in the organization's currency. * `review_multiple_emails` - Flags when recipient's device or account has multiple emails associated * `review_vpn` - Flags when VPN is suspected * `review_tremendous_flag_list` - Flags rewards when redemption attributes match at least one criteria defined by the Tremendous flag list * `review_previously_blocked_recipients` - Flags rewards when the recipient has been blocked before * `allow_ip` - Releases a reward when a recipient's IP matches one in the list * `allow_email` - Releases a reward when the recipient's email matches one in the list
19
+ # * `review_country` - Flags when the recipient's IP country matches the criteria in the rule * `review_ip` - Flags when recipient's IP matches one in the list * `review_email` - Flags when the recipient's email matches one in the list * `review_redeemed_rewards_count` - Flags when the recipient redeemed more than the number of rewards specified in the config * `review_redeemed_rewards_amount` - Flags when the recipient redeemed more than the total amount specified in the config. The amount is denominated in the organization's currency. * `review_multiple_emails` - Flags when recipient's device or account has multiple emails associated * `review_vpn` - Flags when VPN or proxy use is suspected. Can be configured to exclude Apple Private Relay. * `review_tremendous_flag_list` - Flags rewards when redemption attributes match at least one criteria defined by the Tremendous flag list * `review_previously_blocked_recipients` - Flags rewards when the recipient has been blocked before * `allow_ip` - Releases a reward when a recipient's IP matches one in the list * `allow_email` - Releases a reward when the recipient's email matches one in the list
20
20
  attr_accessor :rule_type
21
21
 
22
22
  # The configuration associated with the rule. The properties allowed depend on the type of rule. This property is only present for rules that require configuration.
@@ -121,13 +121,11 @@ module Tremendous
121
121
  true
122
122
  end
123
123
 
124
- # Custom attribute writer method checking allowed values (enum).
124
+ # Custom attribute writer method for enum attributes. Any value is accepted
125
+ # so that enum values added to the API don't break deserialization on
126
+ # older versions of this gem.
125
127
  # @param [Object] rule_type Object to be assigned
126
128
  def rule_type=(rule_type)
127
- validator = EnumAttributeValidator.new('String', ["review_country", "review_ip", "review_email", "review_redeemed_rewards_count", "review_redeemed_rewards_amount", "review_multiple_emails", "review_vpn", "review_tremendous_flag_list", "review_previously_blocked_recipients", "allow_ip", "allow_email"])
128
- unless validator.valid?(rule_type)
129
- fail ArgumentError, "invalid value for \"rule_type\", must be one of #{validator.allowable_values}."
130
- end
131
129
  @rule_type = rule_type
132
130
  end
133
131
 
@@ -200,33 +200,31 @@ module Tremendous
200
200
  @id = id
201
201
  end
202
202
 
203
- # Custom attribute writer method checking allowed values (enum).
203
+ # Custom attribute writer method for enum attributes. Any value is accepted
204
+ # so that enum values added to the API don't break deserialization on
205
+ # older versions of this gem.
204
206
  # @param [Object] method Object to be assigned
205
207
  def method=(method)
206
- validator = EnumAttributeValidator.new('String', ["balance", "bank_account", "credit_card", "invoice"])
207
- unless validator.valid?(method)
208
- fail ArgumentError, "invalid value for \"method\", must be one of #{validator.allowable_values}."
208
+ if method.nil?
209
+ fail ArgumentError, 'method cannot be nil'
209
210
  end
211
+
210
212
  @method = method
211
213
  end
212
214
 
213
- # Custom attribute writer method checking allowed values (enum).
215
+ # Custom attribute writer method for enum attributes. Any value is accepted
216
+ # so that enum values added to the API don't break deserialization on
217
+ # older versions of this gem.
214
218
  # @param [Object] status Object to be assigned
215
219
  def status=(status)
216
- validator = EnumAttributeValidator.new('String', ["active", "deleted", "failed"])
217
- unless validator.valid?(status)
218
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
219
- end
220
220
  @status = status
221
221
  end
222
222
 
223
- # Custom attribute writer method checking allowed values (enum).
223
+ # Custom attribute writer method for enum attributes. Any value is accepted
224
+ # so that enum values added to the API don't break deserialization on
225
+ # older versions of this gem.
224
226
  # @param [Object] type Object to be assigned
225
227
  def type=(type)
226
- validator = EnumAttributeValidator.new('String', ["COMMERCIAL", "PRO_FORMA", "PREFUNDING_ONLY"])
227
- unless validator.valid?(type)
228
- fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
229
- end
230
228
  @type = type
231
229
  end
232
230
 
@@ -19,7 +19,7 @@ module Tremendous
19
19
  # The current status of the fraud review: * `flagged` - The reward has been flagged for and waiting manual review. * `blocked` - The reward was reviewed and blocked. * `released` - The reward was reviewed and released.
20
20
  attr_accessor :status
21
21
 
22
- # The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country`
22
+ # The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Apple Private Relay` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country`
23
23
  attr_accessor :reasons
24
24
 
25
25
  # The device fingerprint, if known.
@@ -211,33 +211,27 @@ module Tremendous
211
211
  true
212
212
  end
213
213
 
214
- # Custom attribute writer method checking allowed values (enum).
214
+ # Custom attribute writer method for enum attributes. Any value is accepted
215
+ # so that enum values added to the API don't break deserialization on
216
+ # older versions of this gem.
215
217
  # @param [Object] status Object to be assigned
216
218
  def status=(status)
217
- validator = EnumAttributeValidator.new('String', ["flagged", "blocked", "released"])
218
- unless validator.valid?(status)
219
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
220
- end
221
219
  @status = status
222
220
  end
223
221
 
224
- # Custom attribute writer method checking allowed values (enum).
222
+ # Custom attribute writer method for enum attributes. Any value is accepted
223
+ # so that enum values added to the API don't break deserialization on
224
+ # older versions of this gem.
225
225
  # @param [Object] redemption_method Object to be assigned
226
226
  def redemption_method=(redemption_method)
227
- validator = EnumAttributeValidator.new('String', ["bank transfer", "charity", "instant debit transfer", "international bank transfer", "merchant card", "paypal", "venmo", "visa card"])
228
- unless validator.valid?(redemption_method)
229
- fail ArgumentError, "invalid value for \"redemption_method\", must be one of #{validator.allowable_values}."
230
- end
231
227
  @redemption_method = redemption_method
232
228
  end
233
229
 
234
- # Custom attribute writer method checking allowed values (enum).
230
+ # Custom attribute writer method for enum attributes. Any value is accepted
231
+ # so that enum values added to the API don't break deserialization on
232
+ # older versions of this gem.
235
233
  # @param [Object] risk Object to be assigned
236
234
  def risk=(risk)
237
- validator = EnumAttributeValidator.new('String', ["high", "medium", "low"])
238
- unless validator.valid?(risk)
239
- fail ArgumentError, "invalid value for \"risk\", must be one of #{validator.allowable_values}."
240
- end
241
235
  @risk = risk
242
236
  end
243
237
 
@@ -220,13 +220,15 @@ module Tremendous
220
220
  @email = email
221
221
  end
222
222
 
223
- # Custom attribute writer method checking allowed values (enum).
223
+ # Custom attribute writer method for enum attributes. Any value is accepted
224
+ # so that enum values added to the API don't break deserialization on
225
+ # older versions of this gem.
224
226
  # @param [Object] status Object to be assigned
225
227
  def status=(status)
226
- validator = EnumAttributeValidator.new('String', ["REGISTERED", "INVITED"])
227
- unless validator.valid?(status)
228
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
228
+ if status.nil?
229
+ fail ArgumentError, 'status cannot be nil'
229
230
  end
231
+
230
232
  @status = status
231
233
  end
232
234
 
@@ -118,13 +118,11 @@ module Tremendous
118
118
  true
119
119
  end
120
120
 
121
- # Custom attribute writer method checking allowed values (enum).
121
+ # Custom attribute writer method for enum attributes. Any value is accepted
122
+ # so that enum values added to the API don't break deserialization on
123
+ # older versions of this gem.
122
124
  # @param [Object] type Object to be assigned
123
125
  def type=(type)
124
- validator = EnumAttributeValidator.new('String', ["created", "last_login"])
125
- unless validator.valid?(type)
126
- fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
127
- end
128
126
  @type = type
129
127
  end
130
128
 
@@ -258,33 +258,31 @@ module Tremendous
258
258
  @amount = amount
259
259
  end
260
260
 
261
- # Custom attribute writer method checking allowed values (enum).
261
+ # Custom attribute writer method for enum attributes. Any value is accepted
262
+ # so that enum values added to the API don't break deserialization on
263
+ # older versions of this gem.
262
264
  # @param [Object] currency_code Object to be assigned
263
265
  def currency_code=(currency_code)
264
- validator = EnumAttributeValidator.new('String', ["USD", "EUR", "GBP"])
265
- unless validator.valid?(currency_code)
266
- fail ArgumentError, "invalid value for \"currency_code\", must be one of #{validator.allowable_values}."
267
- end
268
266
  @currency_code = currency_code
269
267
  end
270
268
 
271
- # 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.
272
272
  # @param [Object] currency Object to be assigned
273
273
  def currency=(currency)
274
- validator = EnumAttributeValidator.new('String', ["USD", "EUR", "GBP"])
275
- unless validator.valid?(currency)
276
- fail ArgumentError, "invalid value for \"currency\", must be one of #{validator.allowable_values}."
277
- end
278
274
  @currency = currency
279
275
  end
280
276
 
281
- # Custom attribute writer method checking allowed values (enum).
277
+ # Custom attribute writer method for enum attributes. Any value is accepted
278
+ # so that enum values added to the API don't break deserialization on
279
+ # older versions of this gem.
282
280
  # @param [Object] status Object to be assigned
283
281
  def status=(status)
284
- validator = EnumAttributeValidator.new('String', ["DELETED", "PAID", "OPEN", "MARKED_AS_PAID"])
285
- unless validator.valid?(status)
286
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
282
+ if status.nil?
283
+ fail ArgumentError, 'status cannot be nil'
287
284
  end
285
+
288
286
  @status = status
289
287
  end
290
288
 
@@ -230,13 +230,11 @@ module Tremendous
230
230
  @products = products
231
231
  end
232
232
 
233
- # Custom attribute writer method checking allowed values (enum).
233
+ # Custom attribute writer method for enum attributes. Any value is accepted
234
+ # so that enum values added to the API don't break deserialization on
235
+ # older versions of this gem.
234
236
  # @param [Object] fee_charged_to Object to be assigned
235
237
  def fee_charged_to=(fee_charged_to)
236
- validator = EnumAttributeValidator.new('String', ["SENDER", "RECIPIENT"])
237
- unless validator.valid?(fee_charged_to)
238
- fail ArgumentError, "invalid value for \"fee_charged_to\", must be one of #{validator.allowable_values}."
239
- end
240
238
  @fee_charged_to = fee_charged_to
241
239
  end
242
240
 
@@ -228,13 +228,15 @@ module Tremendous
228
228
  @email = email
229
229
  end
230
230
 
231
- # Custom attribute writer method checking allowed values (enum).
231
+ # Custom attribute writer method for enum attributes. Any value is accepted
232
+ # so that enum values added to the API don't break deserialization on
233
+ # older versions of this gem.
232
234
  # @param [Object] status Object to be assigned
233
235
  def status=(status)
234
- validator = EnumAttributeValidator.new('String', ["REGISTERED", "INVITED"])
235
- unless validator.valid?(status)
236
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
236
+ if status.nil?
237
+ fail ArgumentError, 'status cannot be nil'
237
238
  end
239
+
238
240
  @status = status
239
241
  end
240
242
 
@@ -208,13 +208,11 @@ module Tremendous
208
208
  @website = website
209
209
  end
210
210
 
211
- # Custom attribute writer method checking allowed values (enum).
211
+ # Custom attribute writer method for enum attributes. Any value is accepted
212
+ # so that enum values added to the API don't break deserialization on
213
+ # older versions of this gem.
212
214
  # @param [Object] status Object to be assigned
213
215
  def status=(status)
214
- validator = EnumAttributeValidator.new('String', ["PENDING", "APPROVED", "REJECTED"])
215
- unless validator.valid?(status)
216
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
217
- end
218
216
  @status = status
219
217
  end
220
218
 
@@ -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
 
@@ -19,7 +19,7 @@ module Tremendous
19
19
  # The current status of the fraud review: * `flagged` - The reward has been flagged for and waiting manual review. * `blocked` - The reward was reviewed and blocked. * `released` - The reward was reviewed and released.
20
20
  attr_accessor :status
21
21
 
22
- # The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country`
22
+ # The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Apple Private Relay` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country`
23
23
  attr_accessor :reasons
24
24
 
25
25
  # The device fingerprint, if known.
@@ -192,23 +192,19 @@ module Tremendous
192
192
  true
193
193
  end
194
194
 
195
- # Custom attribute writer method checking allowed values (enum).
195
+ # Custom attribute writer method for enum attributes. Any value is accepted
196
+ # so that enum values added to the API don't break deserialization on
197
+ # older versions of this gem.
196
198
  # @param [Object] status Object to be assigned
197
199
  def status=(status)
198
- validator = EnumAttributeValidator.new('String', ["flagged", "blocked", "released"])
199
- unless validator.valid?(status)
200
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
201
- end
202
200
  @status = status
203
201
  end
204
202
 
205
- # Custom attribute writer method checking allowed values (enum).
203
+ # Custom attribute writer method for enum attributes. Any value is accepted
204
+ # so that enum values added to the API don't break deserialization on
205
+ # older versions of this gem.
206
206
  # @param [Object] redemption_method Object to be assigned
207
207
  def redemption_method=(redemption_method)
208
- validator = EnumAttributeValidator.new('String', ["bank transfer", "charity", "instant debit transfer", "international bank transfer", "merchant card", "paypal", "venmo", "visa card"])
209
- unless validator.valid?(redemption_method)
210
- fail ArgumentError, "invalid value for \"redemption_method\", must be one of #{validator.allowable_values}."
211
- end
212
208
  @redemption_method = redemption_method
213
209
  end
214
210