tremendous_ruby 5.9.0 → 5.11.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 (229) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tremendous/api/tremendous_api.rb +530 -58
  3. data/lib/tremendous/api_client.rb +1 -1
  4. data/lib/tremendous/api_error.rb +1 -1
  5. data/lib/tremendous/configuration.rb +1 -1
  6. data/lib/tremendous/models/allow_email.rb +20 -4
  7. data/lib/tremendous/models/allow_email1.rb +20 -4
  8. data/lib/tremendous/models/allow_ip.rb +20 -4
  9. data/lib/tremendous/models/allow_ip1.rb +20 -4
  10. data/lib/tremendous/models/balance_transaction.rb +60 -4
  11. data/lib/tremendous/models/balance_transaction_order.rb +10 -4
  12. data/lib/tremendous/models/balance_transaction_order_payment.rb +10 -4
  13. data/lib/tremendous/models/base_order_for_create.rb +20 -4
  14. data/lib/tremendous/models/campaign.rb +30 -4
  15. data/lib/tremendous/models/campaign_base.rb +10 -4
  16. data/lib/tremendous/models/channel.rb +3 -2
  17. data/lib/tremendous/models/connected_organization.rb +313 -0
  18. data/lib/tremendous/models/connected_organization_member.rb +346 -0
  19. data/lib/tremendous/models/connected_organization_member_member.rb +382 -0
  20. data/lib/tremendous/models/connected_organization_member_session.rb +357 -0
  21. data/lib/tremendous/models/connected_organization_organization.rb +350 -0
  22. data/lib/tremendous/models/create_api_key200_response.rb +10 -4
  23. data/lib/tremendous/models/create_campaign200_response.rb +237 -0
  24. data/lib/tremendous/models/create_campaign_request.rb +30 -4
  25. data/lib/tremendous/models/create_connected_organization200_response.rb +237 -0
  26. data/lib/tremendous/models/create_connected_organization_member200_response.rb +237 -0
  27. data/lib/tremendous/models/create_connected_organization_member_request.rb +238 -0
  28. data/lib/tremendous/models/create_connected_organization_member_session200_response.rb +237 -0
  29. data/lib/tremendous/models/create_connected_organization_member_session200_response_connected_organization_member_session.rb +357 -0
  30. data/lib/tremendous/models/create_connected_organization_member_session_request.rb +238 -0
  31. data/lib/tremendous/models/create_connected_organization_request.rb +238 -0
  32. data/lib/tremendous/models/create_invoice200_response.rb +20 -4
  33. data/lib/tremendous/models/create_invoice_request.rb +20 -4
  34. data/lib/tremendous/models/create_member.rb +30 -4
  35. data/lib/tremendous/models/create_member200_response.rb +20 -4
  36. data/lib/tremendous/models/create_member_request.rb +30 -4
  37. data/lib/tremendous/models/create_order200_response.rb +20 -4
  38. data/lib/tremendous/models/create_order200_response_order.rb +22 -6
  39. data/lib/tremendous/models/create_order200_response_order_rewards_inner.rb +10 -4
  40. data/lib/tremendous/models/create_order200_response_order_rewards_inner_delivery.rb +11 -5
  41. data/lib/tremendous/models/create_order_request.rb +1 -1
  42. data/lib/tremendous/models/create_organization.rb +40 -4
  43. data/lib/tremendous/models/create_organization200_response.rb +10 -4
  44. data/lib/tremendous/models/create_organization200_response_organization.rb +30 -4
  45. data/lib/tremendous/models/create_organization_for_response.rb +30 -4
  46. data/lib/tremendous/models/create_organization_properties.rb +10 -4
  47. data/lib/tremendous/models/create_organization_request.rb +40 -4
  48. data/lib/tremendous/models/create_organization_request_copy_settings.rb +26 -8
  49. data/lib/tremendous/models/create_report200_response.rb +247 -0
  50. data/lib/tremendous/models/create_report200_response_report.rb +297 -0
  51. data/lib/tremendous/models/create_report_request.rb +10 -4
  52. data/lib/tremendous/models/create_report_request_filters.rb +10 -4
  53. data/lib/tremendous/models/create_report_request_filters_digital_rewards.rb +10 -4
  54. data/lib/tremendous/models/create_report_request_filters_digital_rewards_amount.rb +10 -4
  55. data/lib/tremendous/models/create_report_request_filters_digital_rewards_created_at.rb +10 -4
  56. data/lib/tremendous/models/create_webhook200_response.rb +10 -4
  57. data/lib/tremendous/models/create_webhook_request.rb +20 -4
  58. data/lib/tremendous/models/currency_codes.rb +1 -1
  59. data/lib/tremendous/models/custom_field.rb +10 -4
  60. data/lib/tremendous/models/delete_fraud_rule200_response.rb +20 -4
  61. data/lib/tremendous/models/delivery_details.rb +11 -5
  62. data/lib/tremendous/models/delivery_details_with_link.rb +11 -5
  63. data/lib/tremendous/models/delivery_metadata.rb +10 -4
  64. data/lib/tremendous/models/delivery_method.rb +1 -1
  65. data/lib/tremendous/models/delivery_status.rb +1 -1
  66. data/lib/tremendous/models/error_model.rb +20 -4
  67. data/lib/tremendous/models/field.rb +10 -4
  68. data/lib/tremendous/models/fraud_config_allow_email.rb +20 -4
  69. data/lib/tremendous/models/fraud_config_country.rb +20 -4
  70. data/lib/tremendous/models/fraud_config_country_update_list.rb +20 -4
  71. data/lib/tremendous/models/fraud_config_ip.rb +20 -4
  72. data/lib/tremendous/models/fraud_config_redeemed_rewards_amount.rb +10 -4
  73. data/lib/tremendous/models/fraud_config_redeemed_rewards_count.rb +10 -4
  74. data/lib/tremendous/models/fraud_config_review_email.rb +10 -4
  75. data/lib/tremendous/models/fraud_generic_response.rb +20 -4
  76. data/lib/tremendous/models/fraud_review.rb +10 -4
  77. data/lib/tremendous/models/fraud_review_geo.rb +10 -4
  78. data/lib/tremendous/models/fraud_review_list_item.rb +10 -4
  79. data/lib/tremendous/models/fraud_review_reason.rb +1 -1
  80. data/lib/tremendous/models/fraud_review_redemption_method.rb +1 -1
  81. data/lib/tremendous/models/fraud_review_related_rewards.rb +10 -4
  82. data/lib/tremendous/models/fraud_review_risk.rb +1 -1
  83. data/lib/tremendous/models/fraud_review_status.rb +1 -1
  84. data/lib/tremendous/models/fraud_rule200_response.rb +20 -4
  85. data/lib/tremendous/models/fraud_rule400_response.rb +20 -4
  86. data/lib/tremendous/models/fraud_rule422_response.rb +20 -4
  87. data/lib/tremendous/models/fraud_rule_request.rb +10 -4
  88. data/lib/tremendous/models/fraud_rule_request_config.rb +1 -1
  89. data/lib/tremendous/models/fraud_rule_type.rb +1 -1
  90. data/lib/tremendous/models/fraud_rules_list_item.rb +10 -4
  91. data/lib/tremendous/models/funding_source.rb +55 -5
  92. data/lib/tremendous/models/generate_reward_link200_response.rb +20 -4
  93. data/lib/tremendous/models/generate_reward_link200_response_reward.rb +10 -4
  94. data/lib/tremendous/models/generate_reward_link403_response.rb +20 -4
  95. data/lib/tremendous/models/get_fraud_review200_response.rb +20 -4
  96. data/lib/tremendous/models/get_fraud_review200_response_fraud_review.rb +10 -4
  97. data/lib/tremendous/models/get_fraud_review200_response_fraud_review_geo.rb +10 -4
  98. data/lib/tremendous/models/get_fraud_review200_response_fraud_review_related_rewards.rb +10 -4
  99. data/lib/tremendous/models/get_funding_source200_response.rb +20 -4
  100. data/lib/tremendous/models/get_member200_response.rb +20 -4
  101. data/lib/tremendous/models/get_member200_response_member.rb +20 -4
  102. data/lib/tremendous/models/get_member200_response_member_events_inner.rb +10 -4
  103. data/lib/tremendous/models/get_order200_response.rb +20 -4
  104. data/lib/tremendous/models/get_organization200_response.rb +10 -4
  105. data/lib/tremendous/models/get_product_response.rb +20 -4
  106. data/lib/tremendous/models/get_reward200_response.rb +20 -4
  107. data/lib/tremendous/models/inline_object.rb +231 -0
  108. data/lib/tremendous/models/inline_object1.rb +237 -0
  109. data/lib/tremendous/models/inline_object1_reward.rb +263 -0
  110. data/lib/tremendous/models/invoice.rb +40 -4
  111. data/lib/tremendous/models/list_balance_transactions200_response.rb +20 -4
  112. data/lib/tremendous/models/list_balance_transactions200_response_transactions_inner.rb +60 -4
  113. data/lib/tremendous/models/list_balance_transactions200_response_transactions_inner_order.rb +10 -4
  114. data/lib/tremendous/models/list_balance_transactions200_response_transactions_inner_order_payment.rb +10 -4
  115. data/lib/tremendous/models/list_campaigns200_response.rb +20 -4
  116. data/lib/tremendous/models/list_campaigns200_response_campaigns_inner.rb +30 -4
  117. data/lib/tremendous/models/list_campaigns200_response_campaigns_inner_email_style.rb +10 -4
  118. data/lib/tremendous/models/list_campaigns200_response_campaigns_inner_webpage_style.rb +10 -4
  119. data/lib/tremendous/models/list_connected_organization_members200_response.rb +266 -0
  120. data/lib/tremendous/models/list_connected_organization_members200_response_connected_organization_members_inner.rb +346 -0
  121. data/lib/tremendous/models/list_connected_organization_members200_response_connected_organization_members_inner_member.rb +382 -0
  122. data/lib/tremendous/models/list_connected_organizations200_response.rb +266 -0
  123. data/lib/tremendous/models/list_connected_organizations200_response_connected_organizations_inner.rb +313 -0
  124. data/lib/tremendous/models/list_connected_organizations200_response_connected_organizations_inner_organization.rb +350 -0
  125. data/lib/tremendous/models/list_fields200_response.rb +10 -4
  126. data/lib/tremendous/models/list_fields200_response_fields_inner.rb +10 -4
  127. data/lib/tremendous/models/list_forex_response.rb +20 -4
  128. data/lib/tremendous/models/list_fraud_reviews200_response.rb +30 -4
  129. data/lib/tremendous/models/list_fraud_reviews200_response_fraud_reviews_inner.rb +10 -4
  130. data/lib/tremendous/models/list_fraud_rules200_response.rb +20 -4
  131. data/lib/tremendous/models/list_fraud_rules200_response_fraud_rules_inner.rb +10 -4
  132. data/lib/tremendous/models/list_funding_sources200_response.rb +20 -4
  133. data/lib/tremendous/models/list_funding_sources200_response_funding_sources_inner.rb +55 -5
  134. data/lib/tremendous/models/list_funding_sources200_response_funding_sources_inner_meta.rb +144 -6
  135. data/lib/tremendous/models/list_funding_sources200_response_funding_sources_inner_meta_failure_details.rb +10 -4
  136. data/lib/tremendous/models/list_invoices200_response.rb +30 -4
  137. data/lib/tremendous/models/list_invoices200_response_invoices_inner.rb +40 -4
  138. data/lib/tremendous/models/list_members200_response.rb +20 -4
  139. data/lib/tremendous/models/list_members200_response_members_inner.rb +20 -4
  140. data/lib/tremendous/models/list_orders200_response.rb +30 -4
  141. data/lib/tremendous/models/list_orders200_response_orders_inner.rb +22 -6
  142. data/lib/tremendous/models/list_orders200_response_orders_inner_payment.rb +10 -4
  143. data/lib/tremendous/models/list_orders200_response_orders_inner_payment_refund.rb +10 -4
  144. data/lib/tremendous/models/list_organizations200_response.rb +10 -4
  145. data/lib/tremendous/models/list_organizations200_response_organizations_inner.rb +30 -4
  146. data/lib/tremendous/models/list_products_response.rb +20 -4
  147. data/lib/tremendous/models/list_products_response_products_inner.rb +67 -11
  148. data/lib/tremendous/models/list_products_response_products_inner_countries_inner.rb +20 -4
  149. data/lib/tremendous/models/list_products_response_products_inner_documents.rb +242 -0
  150. data/lib/tremendous/models/list_products_response_products_inner_images_inner.rb +35 -8
  151. data/lib/tremendous/models/list_products_response_products_inner_skus_inner.rb +10 -4
  152. data/lib/tremendous/models/list_rewards200_response.rb +10 -4
  153. data/lib/tremendous/models/list_rewards200_response_rewards_inner.rb +10 -4
  154. data/lib/tremendous/models/list_rewards200_response_rewards_inner_custom_fields_inner.rb +10 -4
  155. data/lib/tremendous/models/list_rewards200_response_rewards_inner_delivery.rb +11 -5
  156. data/lib/tremendous/models/list_rewards200_response_rewards_inner_recipient.rb +10 -4
  157. data/lib/tremendous/models/list_rewards200_response_rewards_inner_value.rb +20 -4
  158. data/lib/tremendous/models/list_rewards401_response.rb +20 -4
  159. data/lib/tremendous/models/list_rewards401_response_errors.rb +10 -4
  160. data/lib/tremendous/models/list_rewards429_response.rb +20 -4
  161. data/lib/tremendous/models/list_roles200_response.rb +20 -4
  162. data/lib/tremendous/models/list_roles200_response_roles_inner.rb +30 -4
  163. data/lib/tremendous/models/list_webhook_events200_response.rb +10 -4
  164. data/lib/tremendous/models/list_webhooks200_response.rb +10 -4
  165. data/lib/tremendous/models/list_webhooks200_response_webhooks_inner.rb +10 -4
  166. data/lib/tremendous/models/member.rb +20 -4
  167. data/lib/tremendous/models/member_base.rb +20 -4
  168. data/lib/tremendous/models/member_with_events.rb +20 -4
  169. data/lib/tremendous/models/member_without_events.rb +20 -4
  170. data/lib/tremendous/models/order.rb +22 -6
  171. data/lib/tremendous/models/order_base.rb +22 -6
  172. data/lib/tremendous/models/order_base_payment.rb +10 -4
  173. data/lib/tremendous/models/order_status.rb +1 -1
  174. data/lib/tremendous/models/order_with_link.rb +22 -6
  175. data/lib/tremendous/models/order_with_link_rewards_inner.rb +10 -4
  176. data/lib/tremendous/models/order_without_link.rb +22 -6
  177. data/lib/tremendous/models/order_without_link_rewards_inner.rb +10 -4
  178. data/lib/tremendous/models/organization.rb +30 -4
  179. data/lib/tremendous/models/payment_details.rb +10 -4
  180. data/lib/tremendous/models/payment_details_refund.rb +10 -4
  181. data/lib/tremendous/models/payout.rb +10 -4
  182. data/lib/tremendous/models/product.rb +67 -11
  183. data/lib/tremendous/models/product_documents.rb +242 -0
  184. data/lib/tremendous/models/recipient.rb +10 -4
  185. data/lib/tremendous/models/refund_details.rb +10 -4
  186. data/lib/tremendous/models/report.rb +10 -4
  187. data/lib/tremendous/models/resend_reward422_response.rb +20 -4
  188. data/lib/tremendous/models/resend_reward_request.rb +10 -4
  189. data/lib/tremendous/models/review_country.rb +20 -4
  190. data/lib/tremendous/models/review_country1.rb +20 -4
  191. data/lib/tremendous/models/review_email.rb +10 -4
  192. data/lib/tremendous/models/review_email1.rb +10 -4
  193. data/lib/tremendous/models/review_ip.rb +20 -4
  194. data/lib/tremendous/models/review_ip1.rb +20 -4
  195. data/lib/tremendous/models/review_redeemed_rewards_amount.rb +10 -4
  196. data/lib/tremendous/models/review_redeemed_rewards_count.rb +10 -4
  197. data/lib/tremendous/models/reward.rb +10 -4
  198. data/lib/tremendous/models/reward_base.rb +10 -4
  199. data/lib/tremendous/models/reward_base_custom_fields_inner.rb +10 -4
  200. data/lib/tremendous/models/reward_for_order_create.rb +10 -4
  201. data/lib/tremendous/models/reward_link.rb +10 -4
  202. data/lib/tremendous/models/reward_token.rb +10 -4
  203. data/lib/tremendous/models/reward_value.rb +20 -4
  204. data/lib/tremendous/models/reward_with_link.rb +10 -4
  205. data/lib/tremendous/models/reward_with_link_delivery.rb +11 -5
  206. data/lib/tremendous/models/reward_without_link.rb +10 -4
  207. data/lib/tremendous/models/reward_without_link_delivery.rb +11 -5
  208. data/lib/tremendous/models/role.rb +30 -4
  209. data/lib/tremendous/models/simulate_webhook_request.rb +20 -4
  210. data/lib/tremendous/models/single_reward_order.rb +20 -4
  211. data/lib/tremendous/models/single_reward_order_payment.rb +20 -4
  212. data/lib/tremendous/models/single_reward_order_reward.rb +10 -4
  213. data/lib/tremendous/models/single_reward_order_reward_custom_fields_inner.rb +10 -4
  214. data/lib/tremendous/models/single_reward_order_reward_delivery.rb +10 -4
  215. data/lib/tremendous/models/single_reward_order_reward_delivery_meta.rb +10 -4
  216. data/lib/tremendous/models/single_reward_order_with_link.rb +20 -4
  217. data/lib/tremendous/models/single_reward_order_with_link_order.rb +22 -6
  218. data/lib/tremendous/models/single_reward_order_without_link.rb +20 -4
  219. data/lib/tremendous/models/single_reward_order_without_link_order.rb +22 -6
  220. data/lib/tremendous/models/update_campaign.rb +10 -4
  221. data/lib/tremendous/models/update_campaign_request.rb +10 -4
  222. data/lib/tremendous/models/update_fraud_rule_list200_response.rb +20 -4
  223. data/lib/tremendous/models/update_fraud_rule_list_request.rb +20 -4
  224. data/lib/tremendous/models/update_fraud_rule_list_request_config.rb +1 -1
  225. data/lib/tremendous/models/webhook.rb +10 -4
  226. data/lib/tremendous/models/webhook_post.rb +20 -4
  227. data/lib/tremendous/version.rb +1 -1
  228. data/lib/tremendous.rb +27 -6
  229. metadata +29 -7
@@ -0,0 +1,247 @@
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.12.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Tremendous
17
+ class CreateReport200Response
18
+ attr_accessor :report
19
+
20
+ # Report status message
21
+ attr_accessor :message
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'report' => :'report',
27
+ :'message' => :'message'
28
+ }
29
+ end
30
+
31
+ # Returns attribute mapping this model knows about
32
+ def self.acceptable_attribute_map
33
+ attribute_map
34
+ end
35
+
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ acceptable_attribute_map.values
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.openapi_types
43
+ {
44
+ :'report' => :'CreateReport200ResponseReport',
45
+ :'message' => :'String'
46
+ }
47
+ end
48
+
49
+ # List of attributes with nullable: true
50
+ def self.openapi_nullable
51
+ Set.new([
52
+ ])
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ def initialize(attributes = {})
58
+ if (!attributes.is_a?(Hash))
59
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Tremendous::CreateReport200Response` initialize method"
60
+ end
61
+
62
+ # check to see if the attribute exists and convert string to symbol for hash key
63
+ acceptable_attribute_map = self.class.acceptable_attribute_map
64
+ attributes = attributes.each_with_object({}) { |(k, v), h|
65
+ if (!acceptable_attribute_map.key?(k.to_sym))
66
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateReport200Response`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
67
+ end
68
+ h[k.to_sym] = v
69
+ }
70
+
71
+ if attributes.key?(:'report')
72
+ self.report = attributes[:'report']
73
+ else
74
+ self.report = nil
75
+ end
76
+
77
+ if attributes.key?(:'message')
78
+ self.message = attributes[:'message']
79
+ end
80
+ end
81
+
82
+ # Show invalid properties with the reasons. Usually used together with valid?
83
+ # @return Array for valid properties with the reasons
84
+ def list_invalid_properties
85
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
86
+ invalid_properties = Array.new
87
+ if @report.nil?
88
+ invalid_properties.push('invalid value for "report", report cannot be nil.')
89
+ end
90
+
91
+ invalid_properties
92
+ end
93
+
94
+ # Check to see if the all the properties in the model are valid
95
+ # @return true if the model is valid
96
+ def valid?
97
+ warn '[DEPRECATED] the `valid?` method is obsolete'
98
+ return false if @report.nil?
99
+ true
100
+ end
101
+
102
+ # Custom attribute writer method with validation
103
+ # @param [Object] report Value to be assigned
104
+ def report=(report)
105
+ if report.nil?
106
+ fail ArgumentError, 'report cannot be nil'
107
+ end
108
+
109
+ @report = report
110
+ end
111
+
112
+ # Checks equality by comparing each attribute.
113
+ # @param [Object] Object to be compared
114
+ def ==(o)
115
+ return true if self.equal?(o)
116
+ self.class == o.class &&
117
+ report == o.report &&
118
+ message == o.message
119
+ end
120
+
121
+ # @see the `==` method
122
+ # @param [Object] Object to be compared
123
+ def eql?(o)
124
+ self == o
125
+ end
126
+
127
+ # Calculates hash code according to all attributes.
128
+ # @return [Integer] Hash code
129
+ def hash
130
+ [report, message].hash
131
+ end
132
+
133
+ # Builds the object from hash
134
+ # @param [Hash] attributes Model attributes in the form of hash
135
+ # @return [Object] Returns the model itself
136
+ def self.build_from_hash(attributes)
137
+ return nil unless attributes.is_a?(Hash)
138
+ attributes = attributes.transform_keys(&:to_sym)
139
+ transformed_hash = {}
140
+ openapi_types.each_pair do |key, type|
141
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
142
+ transformed_hash["#{key}"] = nil
143
+ elsif type =~ /\AArray<(.*)>/i
144
+ # check to ensure the input is an array given that the attribute
145
+ # is documented as an array but the input is not
146
+ if attributes[attribute_map[key]].is_a?(Array)
147
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
148
+ end
149
+ elsif !attributes[attribute_map[key]].nil?
150
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
151
+ end
152
+ end
153
+ new(transformed_hash)
154
+ end
155
+
156
+ # Deserializes the data based on type
157
+ # @param string type Data type
158
+ # @param string value Value to be deserialized
159
+ # @return [Object] Deserialized data
160
+ def self._deserialize(type, value)
161
+ case type.to_sym
162
+ when :Time
163
+ Time.parse(value)
164
+ when :Date
165
+ Date.parse(value)
166
+ when :String
167
+ value.to_s
168
+ when :Integer
169
+ value.to_i
170
+ when :Float
171
+ value.to_f
172
+ when :Boolean
173
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
174
+ true
175
+ else
176
+ false
177
+ end
178
+ when :Object
179
+ # generic object (usually a Hash), return directly
180
+ value
181
+ when /\AArray<(?<inner_type>.+)>\z/
182
+ inner_type = Regexp.last_match[:inner_type]
183
+ value.map { |v| _deserialize(inner_type, v) }
184
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
185
+ k_type = Regexp.last_match[:k_type]
186
+ v_type = Regexp.last_match[:v_type]
187
+ {}.tap do |hash|
188
+ value.each do |k, v|
189
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
190
+ end
191
+ end
192
+ else # model
193
+ # models (e.g. Pet) or oneOf
194
+ klass = Tremendous.const_get(type)
195
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
196
+ end
197
+ end
198
+
199
+ # Returns the string representation of the object
200
+ # @return [String] String presentation of the object
201
+ def to_s
202
+ to_hash.to_s
203
+ end
204
+
205
+ # to_body is an alias to to_hash (backward compatibility)
206
+ # @return [Hash] Returns the object in the form of hash
207
+ def to_body
208
+ to_hash
209
+ end
210
+
211
+ # Returns the object in the form of hash
212
+ # @return [Hash] Returns the object in the form of hash
213
+ def to_hash
214
+ hash = {}
215
+ self.class.attribute_map.each_pair do |attr, param|
216
+ value = self.send(attr)
217
+ if value.nil?
218
+ is_nullable = self.class.openapi_nullable.include?(attr)
219
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
220
+ end
221
+
222
+ hash[param] = _to_hash(value)
223
+ end
224
+ hash
225
+ end
226
+
227
+ # Outputs non-array value in the form of hash
228
+ # For object, use to_hash. Otherwise, just return the value
229
+ # @param [Object] value Any valid value
230
+ # @return [Hash] Returns the value in the form of hash
231
+ def _to_hash(value)
232
+ if value.is_a?(Array)
233
+ value.compact.map { |v| _to_hash(v) }
234
+ elsif value.is_a?(Hash)
235
+ {}.tap do |hash|
236
+ value.each { |k, v| hash[k] = _to_hash(v) }
237
+ end
238
+ elsif value.respond_to? :to_hash
239
+ value.to_hash
240
+ else
241
+ value
242
+ end
243
+ end
244
+
245
+ end
246
+
247
+ end
@@ -0,0 +1,297 @@
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.12.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Tremendous
17
+ # Reports represent a collection of your Tremendous data that can be filtered and downloaded. The report object that is returned has a unique ID, a status, and an predicted time of report generation completion. When the report generation is complete, it will also contain an expiring url where you can retrieve your report.
18
+ class CreateReport200ResponseReport
19
+ # Tremendous ID of the report, used to retrieve your report
20
+ attr_accessor :id
21
+
22
+ # Status of this report <table> <thead> <tr> <th>Status</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>CREATED</code></td> <td>Report has been created</td> </tr> <tr> <td><code>PROCESSING</code></td> <td>Report is currently being generated</td> </tr> <tr> <td><code>READY_FOR_DOWNLOAD</code></td> <td>Report generation is complete and ready for download</td> </tr> <tr> <td><code>FAILED</code></td> <td>Report failed to generate</td> </tr> </tbody> </table>
23
+ attr_accessor :status
24
+
25
+ # Timestamp of when the report was created
26
+ attr_accessor :created_at
27
+
28
+ # Timestamp of when the report is expected to finish generating. If the report is complete, this will return the time the report completed generating at.
29
+ attr_accessor :expected_completion_at
30
+
31
+ # URL to download the report. Only returned when the report generation is complete and report is ready for download. URL is valid for 7 days from generation completion
32
+ attr_accessor :url
33
+
34
+ class EnumAttributeValidator
35
+ attr_reader :datatype
36
+ attr_reader :allowable_values
37
+
38
+ def initialize(datatype, allowable_values)
39
+ @allowable_values = allowable_values.map do |value|
40
+ case datatype.to_s
41
+ when /Integer/i
42
+ value.to_i
43
+ when /Float/i
44
+ value.to_f
45
+ else
46
+ value
47
+ end
48
+ end
49
+ end
50
+
51
+ def valid?(value)
52
+ !value || allowable_values.include?(value)
53
+ end
54
+ end
55
+
56
+ # Attribute mapping from ruby-style variable name to JSON key.
57
+ def self.attribute_map
58
+ {
59
+ :'id' => :'id',
60
+ :'status' => :'status',
61
+ :'created_at' => :'created_at',
62
+ :'expected_completion_at' => :'expected_completion_at',
63
+ :'url' => :'url'
64
+ }
65
+ end
66
+
67
+ # Returns attribute mapping this model knows about
68
+ def self.acceptable_attribute_map
69
+ attribute_map
70
+ end
71
+
72
+ # Returns all the JSON keys this model knows about
73
+ def self.acceptable_attributes
74
+ acceptable_attribute_map.values
75
+ end
76
+
77
+ # Attribute type mapping.
78
+ def self.openapi_types
79
+ {
80
+ :'id' => :'String',
81
+ :'status' => :'String',
82
+ :'created_at' => :'Time',
83
+ :'expected_completion_at' => :'Time',
84
+ :'url' => :'String'
85
+ }
86
+ end
87
+
88
+ # List of attributes with nullable: true
89
+ def self.openapi_nullable
90
+ Set.new([
91
+ :'url'
92
+ ])
93
+ end
94
+
95
+ # Initializes the object
96
+ # @param [Hash] attributes Model attributes in the form of hash
97
+ def initialize(attributes = {})
98
+ if (!attributes.is_a?(Hash))
99
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Tremendous::CreateReport200ResponseReport` initialize method"
100
+ end
101
+
102
+ # check to see if the attribute exists and convert string to symbol for hash key
103
+ acceptable_attribute_map = self.class.acceptable_attribute_map
104
+ attributes = attributes.each_with_object({}) { |(k, v), h|
105
+ if (!acceptable_attribute_map.key?(k.to_sym))
106
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateReport200ResponseReport`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
107
+ end
108
+ h[k.to_sym] = v
109
+ }
110
+
111
+ if attributes.key?(:'id')
112
+ self.id = attributes[:'id']
113
+ end
114
+
115
+ if attributes.key?(:'status')
116
+ self.status = attributes[:'status']
117
+ end
118
+
119
+ if attributes.key?(:'created_at')
120
+ self.created_at = attributes[:'created_at']
121
+ end
122
+
123
+ if attributes.key?(:'expected_completion_at')
124
+ self.expected_completion_at = attributes[:'expected_completion_at']
125
+ end
126
+
127
+ if attributes.key?(:'url')
128
+ self.url = attributes[:'url']
129
+ end
130
+ end
131
+
132
+ # Show invalid properties with the reasons. Usually used together with valid?
133
+ # @return Array for valid properties with the reasons
134
+ def list_invalid_properties
135
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
136
+ invalid_properties = Array.new
137
+ invalid_properties
138
+ end
139
+
140
+ # Check to see if the all the properties in the model are valid
141
+ # @return true if the model is valid
142
+ def valid?
143
+ warn '[DEPRECATED] the `valid?` method is obsolete'
144
+ status_validator = EnumAttributeValidator.new('String', ["CREATED", "PROCESSING", "READY_FOR_DOWNLOAD", "FAILED"])
145
+ return false unless status_validator.valid?(@status)
146
+ true
147
+ end
148
+
149
+ # Custom attribute writer method checking allowed values (enum).
150
+ # @param [Object] status Object to be assigned
151
+ def status=(status)
152
+ validator = EnumAttributeValidator.new('String', ["CREATED", "PROCESSING", "READY_FOR_DOWNLOAD", "FAILED"])
153
+ unless validator.valid?(status)
154
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
155
+ end
156
+ @status = status
157
+ end
158
+
159
+ # Checks equality by comparing each attribute.
160
+ # @param [Object] Object to be compared
161
+ def ==(o)
162
+ return true if self.equal?(o)
163
+ self.class == o.class &&
164
+ id == o.id &&
165
+ status == o.status &&
166
+ created_at == o.created_at &&
167
+ expected_completion_at == o.expected_completion_at &&
168
+ url == o.url
169
+ end
170
+
171
+ # @see the `==` method
172
+ # @param [Object] Object to be compared
173
+ def eql?(o)
174
+ self == o
175
+ end
176
+
177
+ # Calculates hash code according to all attributes.
178
+ # @return [Integer] Hash code
179
+ def hash
180
+ [id, status, created_at, expected_completion_at, url].hash
181
+ end
182
+
183
+ # Builds the object from hash
184
+ # @param [Hash] attributes Model attributes in the form of hash
185
+ # @return [Object] Returns the model itself
186
+ def self.build_from_hash(attributes)
187
+ return nil unless attributes.is_a?(Hash)
188
+ attributes = attributes.transform_keys(&:to_sym)
189
+ transformed_hash = {}
190
+ openapi_types.each_pair do |key, type|
191
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
192
+ transformed_hash["#{key}"] = nil
193
+ elsif type =~ /\AArray<(.*)>/i
194
+ # check to ensure the input is an array given that the attribute
195
+ # is documented as an array but the input is not
196
+ if attributes[attribute_map[key]].is_a?(Array)
197
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
198
+ end
199
+ elsif !attributes[attribute_map[key]].nil?
200
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
201
+ end
202
+ end
203
+ new(transformed_hash)
204
+ end
205
+
206
+ # Deserializes the data based on type
207
+ # @param string type Data type
208
+ # @param string value Value to be deserialized
209
+ # @return [Object] Deserialized data
210
+ def self._deserialize(type, value)
211
+ case type.to_sym
212
+ when :Time
213
+ Time.parse(value)
214
+ when :Date
215
+ Date.parse(value)
216
+ when :String
217
+ value.to_s
218
+ when :Integer
219
+ value.to_i
220
+ when :Float
221
+ value.to_f
222
+ when :Boolean
223
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
224
+ true
225
+ else
226
+ false
227
+ end
228
+ when :Object
229
+ # generic object (usually a Hash), return directly
230
+ value
231
+ when /\AArray<(?<inner_type>.+)>\z/
232
+ inner_type = Regexp.last_match[:inner_type]
233
+ value.map { |v| _deserialize(inner_type, v) }
234
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
235
+ k_type = Regexp.last_match[:k_type]
236
+ v_type = Regexp.last_match[:v_type]
237
+ {}.tap do |hash|
238
+ value.each do |k, v|
239
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
240
+ end
241
+ end
242
+ else # model
243
+ # models (e.g. Pet) or oneOf
244
+ klass = Tremendous.const_get(type)
245
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
246
+ end
247
+ end
248
+
249
+ # Returns the string representation of the object
250
+ # @return [String] String presentation of the object
251
+ def to_s
252
+ to_hash.to_s
253
+ end
254
+
255
+ # to_body is an alias to to_hash (backward compatibility)
256
+ # @return [Hash] Returns the object in the form of hash
257
+ def to_body
258
+ to_hash
259
+ end
260
+
261
+ # Returns the object in the form of hash
262
+ # @return [Hash] Returns the object in the form of hash
263
+ def to_hash
264
+ hash = {}
265
+ self.class.attribute_map.each_pair do |attr, param|
266
+ value = self.send(attr)
267
+ if value.nil?
268
+ is_nullable = self.class.openapi_nullable.include?(attr)
269
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
270
+ end
271
+
272
+ hash[param] = _to_hash(value)
273
+ end
274
+ hash
275
+ end
276
+
277
+ # Outputs non-array value in the form of hash
278
+ # For object, use to_hash. Otherwise, just return the value
279
+ # @param [Object] value Any valid value
280
+ # @return [Hash] Returns the value in the form of hash
281
+ def _to_hash(value)
282
+ if value.is_a?(Array)
283
+ value.compact.map { |v| _to_hash(v) }
284
+ elsif value.is_a?(Hash)
285
+ {}.tap do |hash|
286
+ value.each { |k, v| hash[k] = _to_hash(v) }
287
+ end
288
+ elsif value.respond_to? :to_hash
289
+ value.to_hash
290
+ else
291
+ value
292
+ end
293
+ end
294
+
295
+ end
296
+
297
+ 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.8.0
9
+ Generator version: 7.12.0
10
10
 
11
11
  =end
12
12
 
@@ -54,9 +54,14 @@ module Tremendous
54
54
  }
55
55
  end
56
56
 
57
+ # Returns attribute mapping this model knows about
58
+ def self.acceptable_attribute_map
59
+ attribute_map
60
+ end
61
+
57
62
  # Returns all the JSON keys this model knows about
58
63
  def self.acceptable_attributes
59
- attribute_map.values
64
+ acceptable_attribute_map.values
60
65
  end
61
66
 
62
67
  # Attribute type mapping.
@@ -83,9 +88,10 @@ module Tremendous
83
88
  end
84
89
 
85
90
  # check to see if the attribute exists and convert string to symbol for hash key
91
+ acceptable_attribute_map = self.class.acceptable_attribute_map
86
92
  attributes = attributes.each_with_object({}) { |(k, v), h|
87
- if (!self.class.attribute_map.key?(k.to_sym))
88
- fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateReportRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
93
+ if (!acceptable_attribute_map.key?(k.to_sym))
94
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateReportRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
89
95
  end
90
96
  h[k.to_sym] = v
91
97
  }
@@ -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
 
@@ -25,9 +25,14 @@ module Tremendous
25
25
  }
26
26
  end
27
27
 
28
+ # Returns attribute mapping this model knows about
29
+ def self.acceptable_attribute_map
30
+ attribute_map
31
+ end
32
+
28
33
  # Returns all the JSON keys this model knows about
29
34
  def self.acceptable_attributes
30
- attribute_map.values
35
+ acceptable_attribute_map.values
31
36
  end
32
37
 
33
38
  # Attribute type mapping.
@@ -52,9 +57,10 @@ module Tremendous
52
57
  end
53
58
 
54
59
  # check to see if the attribute exists and convert string to symbol for hash key
60
+ acceptable_attribute_map = self.class.acceptable_attribute_map
55
61
  attributes = attributes.each_with_object({}) { |(k, v), h|
56
- if (!self.class.attribute_map.key?(k.to_sym))
57
- fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateReportRequestFilters`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ if (!acceptable_attribute_map.key?(k.to_sym))
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateReportRequestFilters`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
58
64
  end
59
65
  h[k.to_sym] = v
60
66
  }
@@ -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
 
@@ -74,9 +74,14 @@ module Tremendous
74
74
  }
75
75
  end
76
76
 
77
+ # Returns attribute mapping this model knows about
78
+ def self.acceptable_attribute_map
79
+ attribute_map
80
+ end
81
+
77
82
  # Returns all the JSON keys this model knows about
78
83
  def self.acceptable_attributes
79
- attribute_map.values
84
+ acceptable_attribute_map.values
80
85
  end
81
86
 
82
87
  # Attribute type mapping.
@@ -115,9 +120,10 @@ module Tremendous
115
120
  end
116
121
 
117
122
  # check to see if the attribute exists and convert string to symbol for hash key
123
+ acceptable_attribute_map = self.class.acceptable_attribute_map
118
124
  attributes = attributes.each_with_object({}) { |(k, v), h|
119
- if (!self.class.attribute_map.key?(k.to_sym))
120
- fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateReportRequestFiltersDigitalRewards`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
125
+ if (!acceptable_attribute_map.key?(k.to_sym))
126
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateReportRequestFiltersDigitalRewards`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
121
127
  end
122
128
  h[k.to_sym] = v
123
129
  }
@@ -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
 
@@ -30,9 +30,14 @@ module Tremendous
30
30
  }
31
31
  end
32
32
 
33
+ # Returns attribute mapping this model knows about
34
+ def self.acceptable_attribute_map
35
+ attribute_map
36
+ end
37
+
33
38
  # Returns all the JSON keys this model knows about
34
39
  def self.acceptable_attributes
35
- attribute_map.values
40
+ acceptable_attribute_map.values
36
41
  end
37
42
 
38
43
  # Attribute type mapping.
@@ -57,9 +62,10 @@ module Tremendous
57
62
  end
58
63
 
59
64
  # check to see if the attribute exists and convert string to symbol for hash key
65
+ acceptable_attribute_map = self.class.acceptable_attribute_map
60
66
  attributes = attributes.each_with_object({}) { |(k, v), h|
61
- if (!self.class.attribute_map.key?(k.to_sym))
62
- fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateReportRequestFiltersDigitalRewardsAmount`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
67
+ if (!acceptable_attribute_map.key?(k.to_sym))
68
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateReportRequestFiltersDigitalRewardsAmount`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
63
69
  end
64
70
  h[k.to_sym] = v
65
71
  }