tremendous_ruby 5.28.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 +55 -52
  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 +16 -76
  39. data/lib/tremendous/models/create_connected_organization_request_kyb_prefill.rb +15 -78
  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 +3 -76
  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
 
@@ -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
@@ -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 webpage style
18
- class ListCampaigns200ResponseCampaignsInnerWebpageStyle
18
+ class ListCampaigns200ResponseCampaignsInnerWebpageStyle < ApiModelBase
19
19
  # Headline for the reward page
20
20
  attr_accessor :headline
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
@@ -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 ListConnectedOrganizationMembers200Response
17
+ class ListConnectedOrganizationMembers200Response < ApiModelBase
18
18
  attr_accessor :connected_organization_members
19
19
 
20
20
  # The total number of connected organizations across all pages
@@ -172,61 +172,6 @@ module Tremendous
172
172
  new(transformed_hash)
173
173
  end
174
174
 
175
- # Deserializes the data based on type
176
- # @param string type Data type
177
- # @param string value Value to be deserialized
178
- # @return [Object] Deserialized data
179
- def self._deserialize(type, value)
180
- case type.to_sym
181
- when :Time
182
- Time.parse(value)
183
- when :Date
184
- Date.parse(value)
185
- when :String
186
- value.to_s
187
- when :Integer
188
- value.to_i
189
- when :Float
190
- value.to_f
191
- when :Boolean
192
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
193
- true
194
- else
195
- false
196
- end
197
- when :Object
198
- # generic object (usually a Hash), return directly
199
- value
200
- when /\AArray<(?<inner_type>.+)>\z/
201
- inner_type = Regexp.last_match[:inner_type]
202
- value.map { |v| _deserialize(inner_type, v) }
203
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
204
- k_type = Regexp.last_match[:k_type]
205
- v_type = Regexp.last_match[:v_type]
206
- {}.tap do |hash|
207
- value.each do |k, v|
208
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
209
- end
210
- end
211
- else # model
212
- # models (e.g. Pet) or oneOf
213
- klass = Tremendous.const_get(type)
214
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
215
- end
216
- end
217
-
218
- # Returns the string representation of the object
219
- # @return [String] String presentation of the object
220
- def to_s
221
- to_hash.to_s
222
- end
223
-
224
- # to_body is an alias to to_hash (backward compatibility)
225
- # @return [Hash] Returns the object in the form of hash
226
- def to_body
227
- to_hash
228
- end
229
-
230
175
  # Returns the object in the form of hash
231
176
  # @return [Hash] Returns the object in the form of hash
232
177
  def to_hash
@@ -243,24 +188,6 @@ module Tremendous
243
188
  hash
244
189
  end
245
190
 
246
- # Outputs non-array value in the form of hash
247
- # For object, use to_hash. Otherwise, just return the value
248
- # @param [Object] value Any valid value
249
- # @return [Hash] Returns the value in the form of hash
250
- def _to_hash(value)
251
- if value.is_a?(Array)
252
- value.compact.map { |v| _to_hash(v) }
253
- elsif value.is_a?(Hash)
254
- {}.tap do |hash|
255
- value.each { |k, v| hash[k] = _to_hash(v) }
256
- end
257
- elsif value.respond_to? :to_hash
258
- value.to_hash
259
- else
260
- value
261
- end
262
- end
263
-
264
191
  end
265
192
 
266
193
  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 ListConnectedOrganizationMembers200ResponseConnectedOrganizationMembersInner
17
+ class ListConnectedOrganizationMembers200ResponseConnectedOrganizationMembersInner < ApiModelBase
18
18
  # Tremendous' identifier for the connected organization member.
19
19
  attr_accessor :id
20
20
 
@@ -252,61 +252,6 @@ module Tremendous
252
252
  new(transformed_hash)
253
253
  end
254
254
 
255
- # Deserializes the data based on type
256
- # @param string type Data type
257
- # @param string value Value to be deserialized
258
- # @return [Object] Deserialized data
259
- def self._deserialize(type, value)
260
- case type.to_sym
261
- when :Time
262
- Time.parse(value)
263
- when :Date
264
- Date.parse(value)
265
- when :String
266
- value.to_s
267
- when :Integer
268
- value.to_i
269
- when :Float
270
- value.to_f
271
- when :Boolean
272
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
273
- true
274
- else
275
- false
276
- end
277
- when :Object
278
- # generic object (usually a Hash), return directly
279
- value
280
- when /\AArray<(?<inner_type>.+)>\z/
281
- inner_type = Regexp.last_match[:inner_type]
282
- value.map { |v| _deserialize(inner_type, v) }
283
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
284
- k_type = Regexp.last_match[:k_type]
285
- v_type = Regexp.last_match[:v_type]
286
- {}.tap do |hash|
287
- value.each do |k, v|
288
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
289
- end
290
- end
291
- else # model
292
- # models (e.g. Pet) or oneOf
293
- klass = Tremendous.const_get(type)
294
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
295
- end
296
- end
297
-
298
- # Returns the string representation of the object
299
- # @return [String] String presentation of the object
300
- def to_s
301
- to_hash.to_s
302
- end
303
-
304
- # to_body is an alias to to_hash (backward compatibility)
305
- # @return [Hash] Returns the object in the form of hash
306
- def to_body
307
- to_hash
308
- end
309
-
310
255
  # Returns the object in the form of hash
311
256
  # @return [Hash] Returns the object in the form of hash
312
257
  def to_hash
@@ -323,24 +268,6 @@ module Tremendous
323
268
  hash
324
269
  end
325
270
 
326
- # Outputs non-array value in the form of hash
327
- # For object, use to_hash. Otherwise, just return the value
328
- # @param [Object] value Any valid value
329
- # @return [Hash] Returns the value in the form of hash
330
- def _to_hash(value)
331
- if value.is_a?(Array)
332
- value.compact.map { |v| _to_hash(v) }
333
- elsif value.is_a?(Hash)
334
- {}.tap do |hash|
335
- value.each { |k, v| hash[k] = _to_hash(v) }
336
- end
337
- elsif value.respond_to? :to_hash
338
- value.to_hash
339
- else
340
- value
341
- end
342
- end
343
-
344
271
  end
345
272
 
346
273
  end