tremendous_ruby 5.29.0 → 5.30.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 (268) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tremendous/api/tremendous_api.rb +48 -45
  3. data/lib/tremendous/api_client.rb +7 -3
  4. data/lib/tremendous/api_error.rb +1 -1
  5. data/lib/tremendous/api_model_base.rb +88 -0
  6. data/lib/tremendous/configuration.rb +1 -1
  7. data/lib/tremendous/models/allow_email.rb +2 -75
  8. data/lib/tremendous/models/allow_ip.rb +2 -75
  9. data/lib/tremendous/models/balance_transaction.rb +2 -75
  10. data/lib/tremendous/models/balance_transaction_order.rb +2 -75
  11. data/lib/tremendous/models/balance_transaction_order_payment.rb +2 -75
  12. data/lib/tremendous/models/base_order_for_create.rb +2 -75
  13. data/lib/tremendous/models/campaign.rb +4 -77
  14. data/lib/tremendous/models/campaign_base.rb +4 -77
  15. data/lib/tremendous/models/campaign_base_products_inner.rb +102 -0
  16. data/lib/tremendous/models/channel.rb +1 -1
  17. data/lib/tremendous/models/connected_organization.rb +2 -75
  18. data/lib/tremendous/models/connected_organization_member.rb +2 -75
  19. data/lib/tremendous/models/connected_organization_member_member.rb +2 -75
  20. data/lib/tremendous/models/connected_organization_member_response.rb +164 -0
  21. data/lib/tremendous/models/connected_organization_member_response_connected_organization_member.rb +273 -0
  22. data/lib/tremendous/models/connected_organization_member_session.rb +2 -75
  23. data/lib/tremendous/models/connected_organization_member_session_response.rb +164 -0
  24. data/lib/tremendous/models/connected_organization_member_session_response_connected_organization_member_session.rb +310 -0
  25. data/lib/tremendous/models/connected_organization_organization.rb +2 -75
  26. data/lib/tremendous/models/{generate_reward_link403_response.rb → connected_organization_response.rb} +20 -103
  27. data/lib/tremendous/models/connected_organization_response_connected_organization.rb +240 -0
  28. data/lib/tremendous/models/create_api_key200_response.rb +2 -75
  29. data/lib/tremendous/models/create_api_key_request.rb +2 -75
  30. data/lib/tremendous/models/create_campaign200_response.rb +2 -75
  31. data/lib/tremendous/models/create_campaign_request.rb +4 -77
  32. data/lib/tremendous/models/create_connected_organization200_response.rb +2 -75
  33. data/lib/tremendous/models/create_connected_organization_member200_response.rb +2 -75
  34. data/lib/tremendous/models/create_connected_organization_member_request.rb +2 -75
  35. data/lib/tremendous/models/create_connected_organization_member_session200_response.rb +2 -75
  36. data/lib/tremendous/models/create_connected_organization_member_session200_response_connected_organization_member_session.rb +2 -75
  37. data/lib/tremendous/models/create_connected_organization_member_session_request.rb +2 -75
  38. data/lib/tremendous/models/create_connected_organization_request.rb +3 -76
  39. data/lib/tremendous/models/create_connected_organization_request_kyb_prefill.rb +13 -76
  40. data/lib/tremendous/models/create_field.rb +2 -75
  41. data/lib/tremendous/models/create_field200_response.rb +2 -75
  42. data/lib/tremendous/models/create_field_request.rb +2 -75
  43. data/lib/tremendous/models/create_field_request_data.rb +2 -75
  44. data/lib/tremendous/models/create_invoice200_response.rb +2 -75
  45. data/lib/tremendous/models/create_invoice_request.rb +4 -77
  46. data/lib/tremendous/models/create_member.rb +2 -75
  47. data/lib/tremendous/models/create_member200_response.rb +2 -75
  48. data/lib/tremendous/models/create_member_request.rb +2 -75
  49. data/lib/tremendous/models/create_order200_response.rb +2 -75
  50. data/lib/tremendous/models/create_order200_response_order.rb +3 -76
  51. data/lib/tremendous/models/create_order200_response_order_rewards_inner.rb +2 -75
  52. data/lib/tremendous/models/create_order200_response_order_rewards_inner_delivery.rb +2 -75
  53. data/lib/tremendous/models/create_order_request.rb +3 -4
  54. data/lib/tremendous/models/create_organization.rb +2 -75
  55. data/lib/tremendous/models/create_organization200_response.rb +2 -75
  56. data/lib/tremendous/models/create_organization200_response_organization.rb +2 -75
  57. data/lib/tremendous/models/create_organization_for_response.rb +2 -75
  58. data/lib/tremendous/models/create_organization_properties.rb +2 -75
  59. data/lib/tremendous/models/create_organization_request.rb +2 -75
  60. data/lib/tremendous/models/create_organization_request_copy_settings.rb +2 -75
  61. data/lib/tremendous/models/create_organization_response.rb +147 -0
  62. data/lib/tremendous/models/create_organization_response_organization.rb +282 -0
  63. data/lib/tremendous/models/create_report200_response.rb +2 -75
  64. data/lib/tremendous/models/create_report200_response_report.rb +2 -75
  65. data/lib/tremendous/models/create_report_request.rb +2 -75
  66. data/lib/tremendous/models/create_report_request_filters.rb +2 -75
  67. data/lib/tremendous/models/create_report_request_filters_digital_rewards.rb +2 -75
  68. data/lib/tremendous/models/create_report_request_filters_digital_rewards_amount.rb +2 -75
  69. data/lib/tremendous/models/create_report_request_filters_digital_rewards_created_at.rb +2 -75
  70. data/lib/tremendous/models/create_topup200_response.rb +2 -75
  71. data/lib/tremendous/models/create_topup_request.rb +2 -75
  72. data/lib/tremendous/models/create_webhook200_response.rb +2 -75
  73. data/lib/tremendous/models/create_webhook_request.rb +2 -75
  74. data/lib/tremendous/models/currency_codes.rb +1 -1
  75. data/lib/tremendous/models/custom_field.rb +2 -75
  76. data/lib/tremendous/models/delivery_details.rb +2 -75
  77. data/lib/tremendous/models/delivery_details_with_link.rb +2 -75
  78. data/lib/tremendous/models/delivery_metadata.rb +2 -75
  79. data/lib/tremendous/models/delivery_method.rb +1 -1
  80. data/lib/tremendous/models/delivery_status.rb +1 -1
  81. data/lib/tremendous/models/error_model.rb +2 -75
  82. data/lib/tremendous/models/field.rb +2 -75
  83. data/lib/tremendous/models/fraud_config_allow_email.rb +2 -75
  84. data/lib/tremendous/models/fraud_config_country.rb +2 -75
  85. data/lib/tremendous/models/fraud_config_country_update_list.rb +2 -75
  86. data/lib/tremendous/models/fraud_config_ip.rb +2 -75
  87. data/lib/tremendous/models/fraud_config_redeemed_rewards_amount.rb +2 -75
  88. data/lib/tremendous/models/fraud_config_redeemed_rewards_count.rb +2 -75
  89. data/lib/tremendous/models/fraud_config_review_email.rb +2 -75
  90. data/lib/tremendous/models/fraud_config_review_vpn.rb +2 -75
  91. data/lib/tremendous/models/fraud_generic_response.rb +2 -75
  92. data/lib/tremendous/models/fraud_review.rb +3 -76
  93. data/lib/tremendous/models/fraud_review_base.rb +3 -76
  94. data/lib/tremendous/models/fraud_review_geo.rb +2 -75
  95. data/lib/tremendous/models/fraud_review_list_item.rb +3 -76
  96. data/lib/tremendous/models/fraud_review_reason.rb +1 -1
  97. data/lib/tremendous/models/fraud_review_redemption_method.rb +1 -1
  98. data/lib/tremendous/models/fraud_review_related_rewards.rb +2 -75
  99. data/lib/tremendous/models/fraud_review_risk.rb +1 -1
  100. data/lib/tremendous/models/fraud_review_status.rb +1 -1
  101. data/lib/tremendous/models/fraud_rule200_response.rb +2 -75
  102. data/lib/tremendous/models/fraud_rule_request.rb +2 -75
  103. data/lib/tremendous/models/fraud_rule_request_config.rb +3 -4
  104. data/lib/tremendous/models/fraud_rule_type.rb +1 -1
  105. data/lib/tremendous/models/fraud_rules_list_item.rb +2 -75
  106. data/lib/tremendous/models/funding_source.rb +3 -76
  107. data/lib/tremendous/models/generate_reward_link200_response.rb +2 -75
  108. data/lib/tremendous/models/generate_reward_link200_response_reward.rb +2 -75
  109. data/lib/tremendous/models/get_fraud_review200_response.rb +2 -75
  110. data/lib/tremendous/models/get_fraud_review200_response_fraud_review.rb +2 -75
  111. data/lib/tremendous/models/get_fraud_review200_response_fraud_review_related_rewards.rb +2 -75
  112. data/lib/tremendous/models/get_funding_source200_response.rb +2 -75
  113. data/lib/tremendous/models/get_member200_response.rb +2 -75
  114. data/lib/tremendous/models/get_member200_response_member.rb +2 -75
  115. data/lib/tremendous/models/get_member200_response_member_events_inner.rb +2 -75
  116. data/lib/tremendous/models/get_order200_response.rb +2 -75
  117. data/lib/tremendous/models/get_organization200_response.rb +2 -75
  118. data/lib/tremendous/models/get_product_response.rb +2 -75
  119. data/lib/tremendous/models/get_reward200_response.rb +2 -75
  120. data/lib/tremendous/models/inline_object.rb +2 -75
  121. data/lib/tremendous/models/invoice.rb +4 -77
  122. data/lib/tremendous/models/invoice_response.rb +164 -0
  123. data/lib/tremendous/models/invoice_response_invoice.rb +370 -0
  124. data/lib/tremendous/models/list_balance_transactions200_response.rb +2 -75
  125. data/lib/tremendous/models/list_balance_transactions200_response_transactions_inner.rb +2 -75
  126. data/lib/tremendous/models/list_balance_transactions200_response_transactions_inner_order.rb +2 -75
  127. data/lib/tremendous/models/list_balance_transactions200_response_transactions_inner_order_payment.rb +2 -75
  128. data/lib/tremendous/models/list_campaigns200_response.rb +2 -75
  129. data/lib/tremendous/models/list_campaigns200_response_campaigns_inner.rb +4 -77
  130. data/lib/tremendous/models/list_campaigns200_response_campaigns_inner_auto_add_product_rule.rb +2 -75
  131. data/lib/tremendous/models/list_campaigns200_response_campaigns_inner_email_style.rb +2 -75
  132. data/lib/tremendous/models/list_campaigns200_response_campaigns_inner_products_inner.rb +102 -0
  133. data/lib/tremendous/models/list_campaigns200_response_campaigns_inner_webpage_style.rb +2 -75
  134. data/lib/tremendous/models/list_connected_organization_members200_response.rb +2 -75
  135. data/lib/tremendous/models/list_connected_organization_members200_response_connected_organization_members_inner.rb +2 -75
  136. data/lib/tremendous/models/list_connected_organization_members200_response_connected_organization_members_inner_member.rb +2 -75
  137. data/lib/tremendous/models/list_connected_organizations200_response.rb +2 -75
  138. data/lib/tremendous/models/list_connected_organizations200_response_connected_organizations_inner.rb +2 -75
  139. data/lib/tremendous/models/list_connected_organizations200_response_connected_organizations_inner_organization.rb +2 -75
  140. data/lib/tremendous/models/list_fields200_response.rb +2 -75
  141. data/lib/tremendous/models/list_fields200_response_fields_inner.rb +2 -75
  142. data/lib/tremendous/models/list_fields200_response_fields_inner_data.rb +2 -75
  143. data/lib/tremendous/models/list_forex_response.rb +2 -75
  144. data/lib/tremendous/models/list_fraud_reviews200_response.rb +2 -75
  145. data/lib/tremendous/models/list_fraud_reviews200_response_fraud_reviews_inner.rb +2 -75
  146. data/lib/tremendous/models/list_fraud_reviews200_response_fraud_reviews_inner_geo.rb +2 -75
  147. data/lib/tremendous/models/list_fraud_rules200_response.rb +2 -75
  148. data/lib/tremendous/models/list_fraud_rules200_response_fraud_rules_inner.rb +2 -75
  149. data/lib/tremendous/models/list_funding_sources200_response.rb +2 -75
  150. data/lib/tremendous/models/list_funding_sources200_response_funding_sources_inner.rb +3 -76
  151. data/lib/tremendous/models/list_funding_sources200_response_funding_sources_inner_meta.rb +17 -78
  152. data/lib/tremendous/models/list_funding_sources200_response_funding_sources_inner_meta_failure_details.rb +2 -75
  153. data/lib/tremendous/models/list_invoices200_response.rb +2 -75
  154. data/lib/tremendous/models/list_invoices200_response_invoices_inner.rb +4 -77
  155. data/lib/tremendous/models/list_members200_response.rb +2 -75
  156. data/lib/tremendous/models/list_members200_response_members_inner.rb +2 -75
  157. data/lib/tremendous/models/list_orders200_response.rb +2 -75
  158. data/lib/tremendous/models/list_orders200_response_orders_inner.rb +3 -76
  159. data/lib/tremendous/models/list_orders200_response_orders_inner_payment.rb +2 -75
  160. data/lib/tremendous/models/list_orders200_response_orders_inner_payment_refund.rb +2 -75
  161. data/lib/tremendous/models/list_organizations200_response.rb +2 -75
  162. data/lib/tremendous/models/list_organizations200_response_organizations_inner.rb +2 -75
  163. data/lib/tremendous/models/list_products_response.rb +2 -75
  164. data/lib/tremendous/models/list_products_response_products_inner.rb +4 -77
  165. data/lib/tremendous/models/list_products_response_products_inner_countries_inner.rb +2 -75
  166. data/lib/tremendous/models/list_products_response_products_inner_documents.rb +2 -75
  167. data/lib/tremendous/models/list_products_response_products_inner_images_inner.rb +2 -75
  168. data/lib/tremendous/models/list_products_response_products_inner_skus_inner.rb +61 -81
  169. data/lib/tremendous/models/list_rewards200_response.rb +2 -75
  170. data/lib/tremendous/models/list_rewards200_response_rewards_inner.rb +2 -75
  171. data/lib/tremendous/models/list_rewards200_response_rewards_inner_custom_fields_inner.rb +2 -75
  172. data/lib/tremendous/models/list_rewards200_response_rewards_inner_delivery.rb +2 -75
  173. data/lib/tremendous/models/list_rewards200_response_rewards_inner_recipient.rb +2 -75
  174. data/lib/tremendous/models/list_rewards200_response_rewards_inner_value.rb +2 -75
  175. data/lib/tremendous/models/list_rewards401_response.rb +2 -75
  176. data/lib/tremendous/models/list_rewards401_response_errors.rb +2 -75
  177. data/lib/tremendous/models/list_roles200_response.rb +2 -75
  178. data/lib/tremendous/models/list_roles200_response_roles_inner.rb +2 -75
  179. data/lib/tremendous/models/list_topups200_response.rb +2 -75
  180. data/lib/tremendous/models/list_topups200_response_topups_inner.rb +3 -76
  181. data/lib/tremendous/models/list_webhook_events200_response.rb +2 -75
  182. data/lib/tremendous/models/list_webhooks200_response.rb +2 -75
  183. data/lib/tremendous/models/list_webhooks200_response_webhooks_inner.rb +2 -75
  184. data/lib/tremendous/models/member.rb +2 -75
  185. data/lib/tremendous/models/member_base.rb +2 -75
  186. data/lib/tremendous/models/member_with_events.rb +2 -75
  187. data/lib/tremendous/models/member_without_events.rb +2 -75
  188. data/lib/tremendous/models/{fraud_rule400_response.rb → member_without_events_response.rb} +20 -103
  189. data/lib/tremendous/models/member_without_events_response_member.rb +311 -0
  190. data/lib/tremendous/models/order.rb +4 -77
  191. data/lib/tremendous/models/order_base.rb +3 -76
  192. data/lib/tremendous/models/order_base_payment.rb +2 -75
  193. data/lib/tremendous/models/order_status.rb +1 -1
  194. data/lib/tremendous/models/order_with_link.rb +3 -76
  195. data/lib/tremendous/models/order_with_link_rewards_inner.rb +2 -75
  196. data/lib/tremendous/models/order_without_link.rb +4 -77
  197. data/lib/tremendous/models/organization.rb +2 -75
  198. data/lib/tremendous/models/organization_response.rb +147 -0
  199. data/lib/tremendous/models/organization_response_organization.rb +285 -0
  200. data/lib/tremendous/models/payment_details.rb +2 -75
  201. data/lib/tremendous/models/payment_details_refund.rb +2 -75
  202. data/lib/tremendous/models/payout.rb +2 -75
  203. data/lib/tremendous/models/product.rb +4 -77
  204. data/lib/tremendous/models/product_documents.rb +2 -75
  205. data/lib/tremendous/models/recipient.rb +2 -75
  206. data/lib/tremendous/models/refund_details.rb +2 -75
  207. data/lib/tremendous/models/report.rb +2 -75
  208. data/lib/tremendous/models/{delete_fraud_rule200_response.rb → report_response.rb} +25 -89
  209. data/lib/tremendous/models/resend_reward_request.rb +2 -75
  210. data/lib/tremendous/models/review_country.rb +2 -75
  211. data/lib/tremendous/models/review_country1.rb +2 -75
  212. data/lib/tremendous/models/review_email.rb +2 -75
  213. data/lib/tremendous/models/review_ip.rb +2 -75
  214. data/lib/tremendous/models/review_redeemed_rewards_amount.rb +2 -75
  215. data/lib/tremendous/models/review_redeemed_rewards_count.rb +2 -75
  216. data/lib/tremendous/models/review_vpn.rb +2 -75
  217. data/lib/tremendous/models/reward.rb +2 -75
  218. data/lib/tremendous/models/reward_base.rb +2 -75
  219. data/lib/tremendous/models/reward_base_custom_fields_inner.rb +2 -75
  220. data/lib/tremendous/models/reward_for_order_create.rb +2 -75
  221. data/lib/tremendous/models/reward_link.rb +2 -75
  222. data/lib/tremendous/models/{inline_object1.rb → reward_link_response.rb} +5 -78
  223. data/lib/tremendous/models/reward_link_response_reward.rb +180 -0
  224. data/lib/tremendous/models/reward_response.rb +164 -0
  225. data/lib/tremendous/models/{order_without_link_rewards_inner.rb → reward_response_reward.rb} +4 -77
  226. data/lib/tremendous/models/reward_token.rb +2 -75
  227. data/lib/tremendous/models/reward_token_response.rb +164 -0
  228. data/lib/tremendous/models/{inline_object1_reward.rb → reward_token_response_reward.rb} +4 -77
  229. data/lib/tremendous/models/reward_value.rb +2 -75
  230. data/lib/tremendous/models/reward_with_link.rb +2 -75
  231. data/lib/tremendous/models/reward_with_link_delivery.rb +2 -75
  232. data/lib/tremendous/models/reward_without_link.rb +2 -75
  233. data/lib/tremendous/models/reward_without_link_delivery.rb +2 -75
  234. data/lib/tremendous/models/role.rb +2 -75
  235. data/lib/tremendous/models/simulate_webhook_request.rb +2 -75
  236. data/lib/tremendous/models/single_reward_order.rb +2 -75
  237. data/lib/tremendous/models/single_reward_order_payment.rb +2 -75
  238. data/lib/tremendous/models/single_reward_order_reward.rb +2 -75
  239. data/lib/tremendous/models/single_reward_order_reward_custom_fields_inner.rb +2 -75
  240. data/lib/tremendous/models/single_reward_order_reward_delivery.rb +2 -75
  241. data/lib/tremendous/models/single_reward_order_reward_delivery_meta.rb +2 -75
  242. data/lib/tremendous/models/single_reward_order_with_link.rb +2 -75
  243. data/lib/tremendous/models/single_reward_order_with_link_order.rb +3 -76
  244. data/lib/tremendous/models/single_reward_order_without_link.rb +2 -75
  245. data/lib/tremendous/models/single_reward_order_without_link_order.rb +4 -77
  246. data/lib/tremendous/models/topup.rb +3 -76
  247. data/lib/tremendous/models/topup_create_request.rb +2 -75
  248. data/lib/tremendous/models/topup_response.rb +147 -0
  249. data/lib/tremendous/models/update_campaign.rb +4 -77
  250. data/lib/tremendous/models/update_campaign_request.rb +4 -77
  251. data/lib/tremendous/models/update_fraud_rule_list_request.rb +2 -75
  252. data/lib/tremendous/models/update_fraud_rule_list_request_config.rb +7 -8
  253. data/lib/tremendous/models/update_member.rb +2 -75
  254. data/lib/tremendous/models/update_member_request.rb +2 -75
  255. data/lib/tremendous/models/webhook.rb +2 -75
  256. data/lib/tremendous/models/webhook_post.rb +2 -75
  257. data/lib/tremendous/models/webhook_response.rb +147 -0
  258. data/lib/tremendous/models/{update_fraud_rule_list200_response.rb → webhook_response_webhook.rb} +47 -94
  259. data/lib/tremendous/version.rb +1 -1
  260. data/lib/tremendous.rb +28 -15
  261. metadata +28 -15
  262. data/lib/tremendous/models/allow_email1.rb +0 -250
  263. data/lib/tremendous/models/allow_ip1.rb +0 -250
  264. data/lib/tremendous/models/fraud_rule422_response.rb +0 -247
  265. data/lib/tremendous/models/list_rewards429_response.rb +0 -247
  266. data/lib/tremendous/models/resend_reward422_response.rb +0 -247
  267. data/lib/tremendous/models/review_email1.rb +0 -255
  268. data/lib/tremendous/models/review_ip1.rb +0 -250
@@ -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.12.0
9
+ Generator version: 7.25.0
10
10
 
11
11
  =end
12
12
 
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Tremendous
17
- class ListBalanceTransactions200ResponseTransactionsInnerOrderPayment
17
+ class ListBalanceTransactions200ResponseTransactionsInnerOrderPayment < ApiModelBase
18
18
  # Total price of the order before fees, denominated in `currency_code`.
19
19
  attr_accessor :subtotal
20
20
 
@@ -297,61 +297,6 @@ module Tremendous
297
297
  new(transformed_hash)
298
298
  end
299
299
 
300
- # Deserializes the data based on type
301
- # @param string type Data type
302
- # @param string value Value to be deserialized
303
- # @return [Object] Deserialized data
304
- def self._deserialize(type, value)
305
- case type.to_sym
306
- when :Time
307
- Time.parse(value)
308
- when :Date
309
- Date.parse(value)
310
- when :String
311
- value.to_s
312
- when :Integer
313
- value.to_i
314
- when :Float
315
- value.to_f
316
- when :Boolean
317
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
318
- true
319
- else
320
- false
321
- end
322
- when :Object
323
- # generic object (usually a Hash), return directly
324
- value
325
- when /\AArray<(?<inner_type>.+)>\z/
326
- inner_type = Regexp.last_match[:inner_type]
327
- value.map { |v| _deserialize(inner_type, v) }
328
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
329
- k_type = Regexp.last_match[:k_type]
330
- v_type = Regexp.last_match[:v_type]
331
- {}.tap do |hash|
332
- value.each do |k, v|
333
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
334
- end
335
- end
336
- else # model
337
- # models (e.g. Pet) or oneOf
338
- klass = Tremendous.const_get(type)
339
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
340
- end
341
- end
342
-
343
- # Returns the string representation of the object
344
- # @return [String] String presentation of the object
345
- def to_s
346
- to_hash.to_s
347
- end
348
-
349
- # to_body is an alias to to_hash (backward compatibility)
350
- # @return [Hash] Returns the object in the form of hash
351
- def to_body
352
- to_hash
353
- end
354
-
355
300
  # Returns the object in the form of hash
356
301
  # @return [Hash] Returns the object in the form of hash
357
302
  def to_hash
@@ -368,24 +313,6 @@ module Tremendous
368
313
  hash
369
314
  end
370
315
 
371
- # Outputs non-array value in the form of hash
372
- # For object, use to_hash. Otherwise, just return the value
373
- # @param [Object] value Any valid value
374
- # @return [Hash] Returns the value in the form of hash
375
- def _to_hash(value)
376
- if value.is_a?(Array)
377
- value.compact.map { |v| _to_hash(v) }
378
- elsif value.is_a?(Hash)
379
- {}.tap do |hash|
380
- value.each { |k, v| hash[k] = _to_hash(v) }
381
- end
382
- elsif value.respond_to? :to_hash
383
- value.to_hash
384
- else
385
- value
386
- end
387
- end
388
-
389
316
  end
390
317
 
391
318
  end
@@ -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.12.0
9
+ Generator version: 7.25.0
10
10
 
11
11
  =end
12
12
 
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Tremendous
17
- class ListCampaigns200Response
17
+ class ListCampaigns200Response < ApiModelBase
18
18
  attr_accessor :campaigns
19
19
 
20
20
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -145,61 +145,6 @@ module Tremendous
145
145
  new(transformed_hash)
146
146
  end
147
147
 
148
- # Deserializes the data based on type
149
- # @param string type Data type
150
- # @param string value Value to be deserialized
151
- # @return [Object] Deserialized data
152
- def self._deserialize(type, value)
153
- case type.to_sym
154
- when :Time
155
- Time.parse(value)
156
- when :Date
157
- Date.parse(value)
158
- when :String
159
- value.to_s
160
- when :Integer
161
- value.to_i
162
- when :Float
163
- value.to_f
164
- when :Boolean
165
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
166
- true
167
- else
168
- false
169
- end
170
- when :Object
171
- # generic object (usually a Hash), return directly
172
- value
173
- when /\AArray<(?<inner_type>.+)>\z/
174
- inner_type = Regexp.last_match[:inner_type]
175
- value.map { |v| _deserialize(inner_type, v) }
176
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
177
- k_type = Regexp.last_match[:k_type]
178
- v_type = Regexp.last_match[:v_type]
179
- {}.tap do |hash|
180
- value.each do |k, v|
181
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
182
- end
183
- end
184
- else # model
185
- # models (e.g. Pet) or oneOf
186
- klass = Tremendous.const_get(type)
187
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
188
- end
189
- end
190
-
191
- # Returns the string representation of the object
192
- # @return [String] String presentation of the object
193
- def to_s
194
- to_hash.to_s
195
- end
196
-
197
- # to_body is an alias to to_hash (backward compatibility)
198
- # @return [Hash] Returns the object in the form of hash
199
- def to_body
200
- to_hash
201
- end
202
-
203
148
  # Returns the object in the form of hash
204
149
  # @return [Hash] Returns the object in the form of hash
205
150
  def to_hash
@@ -216,24 +161,6 @@ module Tremendous
216
161
  hash
217
162
  end
218
163
 
219
- # Outputs non-array value in the form of hash
220
- # For object, use to_hash. Otherwise, just return the value
221
- # @param [Object] value Any valid value
222
- # @return [Hash] Returns the value in the form of hash
223
- def _to_hash(value)
224
- if value.is_a?(Array)
225
- value.compact.map { |v| _to_hash(v) }
226
- elsif value.is_a?(Hash)
227
- {}.tap do |hash|
228
- value.each { |k, v| hash[k] = _to_hash(v) }
229
- end
230
- elsif value.respond_to? :to_hash
231
- value.to_hash
232
- else
233
- value
234
- end
235
- end
236
-
237
164
  end
238
165
 
239
166
  end
@@ -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.12.0
9
+ Generator version: 7.25.0
10
10
 
11
11
  =end
12
12
 
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module Tremendous
17
17
  # With a campaign you can define the look & feel of how rewards are sent out. It also lets you set the available products (different gift cards, charity, etc.) recipients can choose from.
18
- class ListCampaigns200ResponseCampaignsInner
18
+ class ListCampaigns200ResponseCampaignsInner < ApiModelBase
19
19
  attr_accessor :id
20
20
 
21
21
  # Name of the campaign
@@ -24,7 +24,7 @@ module Tremendous
24
24
  # Description of the campaign
25
25
  attr_accessor :description
26
26
 
27
- # List of IDs of products (different gift cards, charity, etc.) that are available in this campaign.
27
+ # List of IDs of products (different gift cards, charity, etc.) that are available in this campaign. On write, the special value `ALL_FEE_FREE` stands for every product in your catalog that carries no fee at the time of the call.
28
28
  attr_accessor :products
29
29
 
30
30
  # Determines whether fees for premium products are added to the order total (`SENDER`) or deducted from the recipient's reward amount (`RECIPIENT`). Campaigns with `RECIPIENT` must include at least one fee-free product.
@@ -88,7 +88,7 @@ module Tremendous
88
88
  :'id' => :'String',
89
89
  :'name' => :'String',
90
90
  :'description' => :'String',
91
- :'products' => :'Array<String>',
91
+ :'products' => :'Array<ListCampaigns200ResponseCampaignsInnerProductsInner>',
92
92
  :'fee_charged_to' => :'String',
93
93
  :'auto_add_product_rule' => :'ListCampaigns200ResponseCampaignsInnerAutoAddProductRule',
94
94
  :'webpage_style' => :'ListCampaigns200ResponseCampaignsInnerWebpageStyle',
@@ -288,61 +288,6 @@ module Tremendous
288
288
  new(transformed_hash)
289
289
  end
290
290
 
291
- # Deserializes the data based on type
292
- # @param string type Data type
293
- # @param string value Value to be deserialized
294
- # @return [Object] Deserialized data
295
- def self._deserialize(type, value)
296
- case type.to_sym
297
- when :Time
298
- Time.parse(value)
299
- when :Date
300
- Date.parse(value)
301
- when :String
302
- value.to_s
303
- when :Integer
304
- value.to_i
305
- when :Float
306
- value.to_f
307
- when :Boolean
308
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
309
- true
310
- else
311
- false
312
- end
313
- when :Object
314
- # generic object (usually a Hash), return directly
315
- value
316
- when /\AArray<(?<inner_type>.+)>\z/
317
- inner_type = Regexp.last_match[:inner_type]
318
- value.map { |v| _deserialize(inner_type, v) }
319
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
320
- k_type = Regexp.last_match[:k_type]
321
- v_type = Regexp.last_match[:v_type]
322
- {}.tap do |hash|
323
- value.each do |k, v|
324
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
325
- end
326
- end
327
- else # model
328
- # models (e.g. Pet) or oneOf
329
- klass = Tremendous.const_get(type)
330
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
331
- end
332
- end
333
-
334
- # Returns the string representation of the object
335
- # @return [String] String presentation of the object
336
- def to_s
337
- to_hash.to_s
338
- end
339
-
340
- # to_body is an alias to to_hash (backward compatibility)
341
- # @return [Hash] Returns the object in the form of hash
342
- def to_body
343
- to_hash
344
- end
345
-
346
291
  # Returns the object in the form of hash
347
292
  # @return [Hash] Returns the object in the form of hash
348
293
  def to_hash
@@ -359,24 +304,6 @@ module Tremendous
359
304
  hash
360
305
  end
361
306
 
362
- # Outputs non-array value in the form of hash
363
- # For object, use to_hash. Otherwise, just return the value
364
- # @param [Object] value Any valid value
365
- # @return [Hash] Returns the value in the form of hash
366
- def _to_hash(value)
367
- if value.is_a?(Array)
368
- value.compact.map { |v| _to_hash(v) }
369
- elsif value.is_a?(Hash)
370
- {}.tap do |hash|
371
- value.each { |k, v| hash[k] = _to_hash(v) }
372
- end
373
- elsif value.respond_to? :to_hash
374
- value.to_hash
375
- else
376
- value
377
- end
378
- end
379
-
380
307
  end
381
308
 
382
309
  end
@@ -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.12.0
9
+ Generator version: 7.25.0
10
10
 
11
11
  =end
12
12
 
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module Tremendous
17
17
  # When enabled, newly activated gift card products that match the optional country and currency filters are added to this campaign automatically. Applies to gift cards only — premium options, prepaid cards, and merchant cards with vendor fees are excluded. Affects future rewards only and does not retroactively add products to unredeemed rewards. On read, `enabled` is `true` whenever a rule is configured; `countries` and `currencies` are only present when the rule actually filters on them — an absent filter matches all values. On write: * Omit the field on `PUT` to leave the existing rule unchanged. * Send `null` or `{ \"enabled\": false }` to clear any existing rule. * Send `{ \"enabled\": true, ... }` to upsert. `countries` and `currencies` are optional; when present they must contain at least one entry. To match all countries (or all currencies), simply omit the key. * An empty object (`{}`) is rejected because `enabled` is required — use `{ \"enabled\": false }` or `null` to clear the rule.
18
- class ListCampaigns200ResponseCampaignsInnerAutoAddProductRule
18
+ class ListCampaigns200ResponseCampaignsInnerAutoAddProductRule < ApiModelBase
19
19
  # Whether the auto-add rule is active.
20
20
  attr_accessor :enabled
21
21
 
@@ -207,61 +207,6 @@ module Tremendous
207
207
  new(transformed_hash)
208
208
  end
209
209
 
210
- # Deserializes the data based on type
211
- # @param string type Data type
212
- # @param string value Value to be deserialized
213
- # @return [Object] Deserialized data
214
- def self._deserialize(type, value)
215
- case type.to_sym
216
- when :Time
217
- Time.parse(value)
218
- when :Date
219
- Date.parse(value)
220
- when :String
221
- value.to_s
222
- when :Integer
223
- value.to_i
224
- when :Float
225
- value.to_f
226
- when :Boolean
227
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
228
- true
229
- else
230
- false
231
- end
232
- when :Object
233
- # generic object (usually a Hash), return directly
234
- value
235
- when /\AArray<(?<inner_type>.+)>\z/
236
- inner_type = Regexp.last_match[:inner_type]
237
- value.map { |v| _deserialize(inner_type, v) }
238
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
239
- k_type = Regexp.last_match[:k_type]
240
- v_type = Regexp.last_match[:v_type]
241
- {}.tap do |hash|
242
- value.each do |k, v|
243
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
244
- end
245
- end
246
- else # model
247
- # models (e.g. Pet) or oneOf
248
- klass = Tremendous.const_get(type)
249
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
250
- end
251
- end
252
-
253
- # Returns the string representation of the object
254
- # @return [String] String presentation of the object
255
- def to_s
256
- to_hash.to_s
257
- end
258
-
259
- # to_body is an alias to to_hash (backward compatibility)
260
- # @return [Hash] Returns the object in the form of hash
261
- def to_body
262
- to_hash
263
- end
264
-
265
210
  # Returns the object in the form of hash
266
211
  # @return [Hash] Returns the object in the form of hash
267
212
  def to_hash
@@ -278,24 +223,6 @@ module Tremendous
278
223
  hash
279
224
  end
280
225
 
281
- # Outputs non-array value in the form of hash
282
- # For object, use to_hash. Otherwise, just return the value
283
- # @param [Object] value Any valid value
284
- # @return [Hash] Returns the value in the form of hash
285
- def _to_hash(value)
286
- if value.is_a?(Array)
287
- value.compact.map { |v| _to_hash(v) }
288
- elsif value.is_a?(Hash)
289
- {}.tap do |hash|
290
- value.each { |k, v| hash[k] = _to_hash(v) }
291
- end
292
- elsif value.respond_to? :to_hash
293
- value.to_hash
294
- else
295
- value
296
- end
297
- end
298
-
299
226
  end
300
227
 
301
228
  end
@@ -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.12.0
9
+ Generator version: 7.25.0
10
10
 
11
11
  =end
12
12
 
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module Tremendous
17
17
  # Definition of the email style
18
- class ListCampaigns200ResponseCampaignsInnerEmailStyle
18
+ class ListCampaigns200ResponseCampaignsInnerEmailStyle < ApiModelBase
19
19
  # If sending via email, this is how the email will appear to be sent from
20
20
  attr_accessor :sender_name
21
21
 
@@ -184,61 +184,6 @@ module Tremendous
184
184
  new(transformed_hash)
185
185
  end
186
186
 
187
- # Deserializes the data based on type
188
- # @param string type Data type
189
- # @param string value Value to be deserialized
190
- # @return [Object] Deserialized data
191
- def self._deserialize(type, value)
192
- case type.to_sym
193
- when :Time
194
- Time.parse(value)
195
- when :Date
196
- Date.parse(value)
197
- when :String
198
- value.to_s
199
- when :Integer
200
- value.to_i
201
- when :Float
202
- value.to_f
203
- when :Boolean
204
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
205
- true
206
- else
207
- false
208
- end
209
- when :Object
210
- # generic object (usually a Hash), return directly
211
- value
212
- when /\AArray<(?<inner_type>.+)>\z/
213
- inner_type = Regexp.last_match[:inner_type]
214
- value.map { |v| _deserialize(inner_type, v) }
215
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
216
- k_type = Regexp.last_match[:k_type]
217
- v_type = Regexp.last_match[:v_type]
218
- {}.tap do |hash|
219
- value.each do |k, v|
220
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
221
- end
222
- end
223
- else # model
224
- # models (e.g. Pet) or oneOf
225
- klass = Tremendous.const_get(type)
226
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
227
- end
228
- end
229
-
230
- # Returns the string representation of the object
231
- # @return [String] String presentation of the object
232
- def to_s
233
- to_hash.to_s
234
- end
235
-
236
- # to_body is an alias to to_hash (backward compatibility)
237
- # @return [Hash] Returns the object in the form of hash
238
- def to_body
239
- to_hash
240
- end
241
-
242
187
  # Returns the object in the form of hash
243
188
  # @return [Hash] Returns the object in the form of hash
244
189
  def to_hash
@@ -255,24 +200,6 @@ module Tremendous
255
200
  hash
256
201
  end
257
202
 
258
- # Outputs non-array value in the form of hash
259
- # For object, use to_hash. Otherwise, just return the value
260
- # @param [Object] value Any valid value
261
- # @return [Hash] Returns the value in the form of hash
262
- def _to_hash(value)
263
- if value.is_a?(Array)
264
- value.compact.map { |v| _to_hash(v) }
265
- elsif value.is_a?(Hash)
266
- {}.tap do |hash|
267
- value.each { |k, v| hash[k] = _to_hash(v) }
268
- end
269
- elsif value.respond_to? :to_hash
270
- value.to_hash
271
- else
272
- value
273
- end
274
- end
275
-
276
203
  end
277
204
 
278
205
  end
@@ -0,0 +1,102 @@
1
+ =begin
2
+ #API Endpoints
3
+
4
+ #Deliver monetary rewards and incentives to employees, customers, survey participants, and more through the Tremendous API. For organizational tasks, like managing your organization and its members within Tremendous, please see the Tremendous Organizational API.
5
+
6
+ The version of the OpenAPI document: 2
7
+ Contact: developers@tremendous.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Tremendous
17
+ module ListCampaigns200ResponseCampaignsInnerProductsInner
18
+ class << self
19
+ # List of class defined in anyOf (OpenAPI v3)
20
+ def openapi_any_of
21
+ [
22
+ :'String'
23
+ ]
24
+ end
25
+
26
+ # Builds the object
27
+ # @param [Mixed] Data to be matched against the list of anyOf items
28
+ # @return [Object] Returns the model or the data itself
29
+ def build(data)
30
+ # Go through the list of anyOf items and attempt to identify the appropriate one.
31
+ # Note:
32
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
33
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
34
+ # - TODO: scalar values are de facto behaving as if they were nullable.
35
+ # - TODO: logging when debugging is set.
36
+ openapi_any_of.each do |klass|
37
+ begin
38
+ next if klass == :AnyType # "nullable: true"
39
+ return find_and_cast_into_type(klass, data)
40
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
41
+ end
42
+ end
43
+
44
+ openapi_any_of.include?(:AnyType) ? data : nil
45
+ end
46
+
47
+ private
48
+
49
+ SchemaMismatchError = Class.new(StandardError)
50
+
51
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
52
+ def find_and_cast_into_type(klass, data)
53
+ return if data.nil?
54
+
55
+ case klass.to_s
56
+ when 'Boolean'
57
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
58
+ when 'Float'
59
+ return data if data.instance_of?(Float)
60
+ when 'Integer'
61
+ return data if data.instance_of?(Integer)
62
+ when 'Time'
63
+ return Time.parse(data)
64
+ when 'Date'
65
+ return Date.iso8601(data)
66
+ when 'String'
67
+ return data if data.instance_of?(String)
68
+ when 'Object' # "type: object"
69
+ return data if data.instance_of?(Hash)
70
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
71
+ if data.instance_of?(Array)
72
+ sub_type = Regexp.last_match[:sub_type]
73
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
74
+ end
75
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
76
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
77
+ sub_type = Regexp.last_match[:sub_type]
78
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
79
+ end
80
+ else # model
81
+ const = Tremendous.const_get(klass)
82
+ if const
83
+ if const.respond_to?(:openapi_any_of) # nested anyOf model
84
+ model = const.build(data)
85
+ return model if model
86
+ else
87
+ # raise if data contains keys that are not known to the model
88
+ raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty?
89
+ model = const.build_from_hash(data)
90
+ return model if model
91
+ end
92
+ end
93
+ end
94
+
95
+ raise # if no match by now, raise
96
+ rescue
97
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
98
+ end
99
+ end
100
+ end
101
+
102
+ end