talon_one 1.4.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 (535) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +63 -0
  3. data/Gemfile +7 -0
  4. data/README.md +423 -0
  5. data/Rakefile +8 -0
  6. data/docs/APIError.md +10 -0
  7. data/docs/AccessLogEntry.md +14 -0
  8. data/docs/Account.md +25 -0
  9. data/docs/AccountAnalytics.md +22 -0
  10. data/docs/AccountEntity.md +8 -0
  11. data/docs/AccountLimits.md +19 -0
  12. data/docs/Application.md +21 -0
  13. data/docs/ApplicationAPIKey.md +14 -0
  14. data/docs/ApplicationApiHealth.md +9 -0
  15. data/docs/ApplicationCustomer.md +16 -0
  16. data/docs/ApplicationCustomerEntity.md +8 -0
  17. data/docs/ApplicationCustomerSearch.md +10 -0
  18. data/docs/ApplicationEntity.md +8 -0
  19. data/docs/ApplicationEvent.md +15 -0
  20. data/docs/ApplicationSession.md +19 -0
  21. data/docs/ApplicationSessionEntity.md +8 -0
  22. data/docs/Attribute.md +18 -0
  23. data/docs/AttributeQuery.md +7 -0
  24. data/docs/AttributesMandatory.md +9 -0
  25. data/docs/AttributesSettings.md +8 -0
  26. data/docs/BaseSamlConnection.md +15 -0
  27. data/docs/Binding.md +9 -0
  28. data/docs/Campaign.md +32 -0
  29. data/docs/CampaignAnalytics.md +28 -0
  30. data/docs/CampaignCopy.md +13 -0
  31. data/docs/CampaignEntity.md +8 -0
  32. data/docs/CampaignSearch.md +8 -0
  33. data/docs/CampaignSet.md +11 -0
  34. data/docs/CampaignSetBranchNode.md +11 -0
  35. data/docs/CampaignSetLeafNode.md +9 -0
  36. data/docs/CampaignSetNode.md +8 -0
  37. data/docs/CartItem.md +19 -0
  38. data/docs/CartItemAdjustment.md +10 -0
  39. data/docs/Change.md +13 -0
  40. data/docs/CodeGeneratorSettings.md +9 -0
  41. data/docs/Coupon.md +21 -0
  42. data/docs/CouponConstraints.md +10 -0
  43. data/docs/CouponRejectionReason.md +10 -0
  44. data/docs/CouponReservations.md +8 -0
  45. data/docs/CouponSearch.md +8 -0
  46. data/docs/CouponValue.md +8 -0
  47. data/docs/CreateApplicationAPIKey.md +9 -0
  48. data/docs/CustomerActivityReport.md +20 -0
  49. data/docs/CustomerAnalytics.md +14 -0
  50. data/docs/CustomerInventory.md +9 -0
  51. data/docs/CustomerProfile.md +15 -0
  52. data/docs/CustomerProfileSearchQuery.md +10 -0
  53. data/docs/CustomerSession.md +20 -0
  54. data/docs/EmailEntity.md +8 -0
  55. data/docs/Entity.md +9 -0
  56. data/docs/Environment.md +14 -0
  57. data/docs/ErrorResponse.md +9 -0
  58. data/docs/ErrorSource.md +11 -0
  59. data/docs/Event.md +17 -0
  60. data/docs/EventType.md +19 -0
  61. data/docs/Export.md +13 -0
  62. data/docs/FeatureFlag.md +11 -0
  63. data/docs/FeatureFlags.md +11 -0
  64. data/docs/FeaturesFeed.md +9 -0
  65. data/docs/FuncArgDef.md +9 -0
  66. data/docs/FunctionDef.md +12 -0
  67. data/docs/Import.md +13 -0
  68. data/docs/ImportCoupons.md +8 -0
  69. data/docs/InlineResponse200.md +9 -0
  70. data/docs/InlineResponse2001.md +9 -0
  71. data/docs/InlineResponse20010.md +9 -0
  72. data/docs/InlineResponse20011.md +9 -0
  73. data/docs/InlineResponse20012.md +9 -0
  74. data/docs/InlineResponse20013.md +9 -0
  75. data/docs/InlineResponse20014.md +9 -0
  76. data/docs/InlineResponse20015.md +9 -0
  77. data/docs/InlineResponse20016.md +9 -0
  78. data/docs/InlineResponse20017.md +9 -0
  79. data/docs/InlineResponse20018.md +9 -0
  80. data/docs/InlineResponse20019.md +9 -0
  81. data/docs/InlineResponse2002.md +9 -0
  82. data/docs/InlineResponse20020.md +9 -0
  83. data/docs/InlineResponse20021.md +9 -0
  84. data/docs/InlineResponse20022.md +9 -0
  85. data/docs/InlineResponse20023.md +9 -0
  86. data/docs/InlineResponse20024.md +9 -0
  87. data/docs/InlineResponse20025.md +9 -0
  88. data/docs/InlineResponse20026.md +10 -0
  89. data/docs/InlineResponse20027.md +9 -0
  90. data/docs/InlineResponse20028.md +9 -0
  91. data/docs/InlineResponse20029.md +9 -0
  92. data/docs/InlineResponse2003.md +9 -0
  93. data/docs/InlineResponse2004.md +9 -0
  94. data/docs/InlineResponse2005.md +9 -0
  95. data/docs/InlineResponse2006.md +9 -0
  96. data/docs/InlineResponse2007.md +9 -0
  97. data/docs/InlineResponse2008.md +9 -0
  98. data/docs/InlineResponse2009.md +9 -0
  99. data/docs/IntegrationApi.md +624 -0
  100. data/docs/IntegrationEntity.md +9 -0
  101. data/docs/IntegrationEvent.md +10 -0
  102. data/docs/IntegrationProfileEntity.md +8 -0
  103. data/docs/IntegrationState.md +12 -0
  104. data/docs/LedgerEntry.md +17 -0
  105. data/docs/LibraryAttribute.md +14 -0
  106. data/docs/LimitConfig.md +10 -0
  107. data/docs/LoginParams.md +9 -0
  108. data/docs/Loyalty.md +8 -0
  109. data/docs/LoyaltyLedger.md +9 -0
  110. data/docs/LoyaltyLedgerEntry.md +17 -0
  111. data/docs/LoyaltyMembership.md +9 -0
  112. data/docs/LoyaltyPoints.md +11 -0
  113. data/docs/LoyaltyProgram.md +15 -0
  114. data/docs/LoyaltyProgramBalance.md +8 -0
  115. data/docs/LoyaltyProgramLedgers.md +11 -0
  116. data/docs/LoyaltySubLedger.md +10 -0
  117. data/docs/ManagementApi.md +5138 -0
  118. data/docs/ManagerConfig.md +8 -0
  119. data/docs/Meta.md +12 -0
  120. data/docs/MiscUpdateUserLatestFeature.md +8 -0
  121. data/docs/MultiApplicationEntity.md +8 -0
  122. data/docs/MutableEntity.md +8 -0
  123. data/docs/NewAccount.md +8 -0
  124. data/docs/NewAccountSignUp.md +10 -0
  125. data/docs/NewApplication.md +16 -0
  126. data/docs/NewApplicationAPIKey.md +15 -0
  127. data/docs/NewAttribute.md +15 -0
  128. data/docs/NewCampaign.md +19 -0
  129. data/docs/NewCampaignSet.md +9 -0
  130. data/docs/NewCoupons.md +16 -0
  131. data/docs/NewCustomerProfile.md +8 -0
  132. data/docs/NewCustomerSession.md +15 -0
  133. data/docs/NewEvent.md +11 -0
  134. data/docs/NewEventType.md +17 -0
  135. data/docs/NewFeatureFlags.md +10 -0
  136. data/docs/NewImport.md +8 -0
  137. data/docs/NewInvitation.md +11 -0
  138. data/docs/NewInviteEmail.md +9 -0
  139. data/docs/NewLoyaltyProgram.md +13 -0
  140. data/docs/NewPassword.md +9 -0
  141. data/docs/NewPasswordEmail.md +8 -0
  142. data/docs/NewReferral.md +12 -0
  143. data/docs/NewRole.md +11 -0
  144. data/docs/NewRuleset.md +11 -0
  145. data/docs/NewSamlConnection.md +16 -0
  146. data/docs/NewTemplateDef.md +14 -0
  147. data/docs/NewUser.md +11 -0
  148. data/docs/NewWebhook.md +15 -0
  149. data/docs/Notification.md +10 -0
  150. data/docs/Notifications.md +7 -0
  151. data/docs/Referral.md +17 -0
  152. data/docs/ReferralRejectionReason.md +10 -0
  153. data/docs/Role.md +13 -0
  154. data/docs/RoleAssign.md +9 -0
  155. data/docs/RoleMembership.md +9 -0
  156. data/docs/Rule.md +12 -0
  157. data/docs/Ruleset.md +16 -0
  158. data/docs/SamlConnection.md +18 -0
  159. data/docs/SamlConnectionMetadata.md +11 -0
  160. data/docs/Session.md +10 -0
  161. data/docs/SlotDef.md +13 -0
  162. data/docs/TemplateArgDef.md +11 -0
  163. data/docs/TemplateDef.md +18 -0
  164. data/docs/UpdateAccount.md +10 -0
  165. data/docs/UpdateApplication.md +15 -0
  166. data/docs/UpdateCampaign.md +19 -0
  167. data/docs/UpdateCoupon.md +12 -0
  168. data/docs/UpdateCouponBatch.md +12 -0
  169. data/docs/UpdateLoyaltyProgram.md +12 -0
  170. data/docs/UpdateRole.md +11 -0
  171. data/docs/UpdateUser.md +17 -0
  172. data/docs/User.md +21 -0
  173. data/docs/UserEntity.md +8 -0
  174. data/docs/Webhook.md +18 -0
  175. data/docs/WebhookActivationLogEntry.md +12 -0
  176. data/docs/WebhookLogEntry.md +17 -0
  177. data/git_push.sh +55 -0
  178. data/lib/talon_one.rb +210 -0
  179. data/lib/talon_one/api/integration_api.rb +591 -0
  180. data/lib/talon_one/api/management_api.rb +5593 -0
  181. data/lib/talon_one/api_client.rb +389 -0
  182. data/lib/talon_one/api_error.rb +38 -0
  183. data/lib/talon_one/configuration.rb +223 -0
  184. data/lib/talon_one/models/access_log_entry.rb +280 -0
  185. data/lib/talon_one/models/account.rb +462 -0
  186. data/lib/talon_one/models/account_analytics.rb +399 -0
  187. data/lib/talon_one/models/account_entity.rb +189 -0
  188. data/lib/talon_one/models/account_limits.rb +351 -0
  189. data/lib/talon_one/models/api_error.rb +213 -0
  190. data/lib/talon_one/models/application.rb +491 -0
  191. data/lib/talon_one/models/application_api_health.rb +239 -0
  192. data/lib/talon_one/models/application_api_key.rb +279 -0
  193. data/lib/talon_one/models/application_customer.rb +307 -0
  194. data/lib/talon_one/models/application_customer_entity.rb +184 -0
  195. data/lib/talon_one/models/application_customer_search.rb +206 -0
  196. data/lib/talon_one/models/application_entity.rb +189 -0
  197. data/lib/talon_one/models/application_event.rb +287 -0
  198. data/lib/talon_one/models/application_session.rb +378 -0
  199. data/lib/talon_one/models/application_session_entity.rb +189 -0
  200. data/lib/talon_one/models/attribute.rb +382 -0
  201. data/lib/talon_one/models/attribute_query.rb +174 -0
  202. data/lib/talon_one/models/attributes_mandatory.rb +199 -0
  203. data/lib/talon_one/models/attributes_settings.rb +184 -0
  204. data/lib/talon_one/models/base_saml_connection.rb +336 -0
  205. data/lib/talon_one/models/binding.rb +206 -0
  206. data/lib/talon_one/models/campaign.rb +534 -0
  207. data/lib/talon_one/models/campaign_analytics.rb +489 -0
  208. data/lib/talon_one/models/campaign_copy.rb +243 -0
  209. data/lib/talon_one/models/campaign_entity.rb +189 -0
  210. data/lib/talon_one/models/campaign_search.rb +189 -0
  211. data/lib/talon_one/models/campaign_set.rb +234 -0
  212. data/lib/talon_one/models/campaign_set_branch_node.rb +282 -0
  213. data/lib/talon_one/models/campaign_set_leaf_node.rb +238 -0
  214. data/lib/talon_one/models/campaign_set_node.rb +188 -0
  215. data/lib/talon_one/models/cart_item.rb +365 -0
  216. data/lib/talon_one/models/cart_item_adjustment.rb +248 -0
  217. data/lib/talon_one/models/change.rb +255 -0
  218. data/lib/talon_one/models/code_generator_settings.rb +225 -0
  219. data/lib/talon_one/models/coupon.rb +392 -0
  220. data/lib/talon_one/models/coupon_constraints.rb +228 -0
  221. data/lib/talon_one/models/coupon_rejection_reason.rb +251 -0
  222. data/lib/talon_one/models/coupon_reservations.rb +191 -0
  223. data/lib/talon_one/models/coupon_search.rb +189 -0
  224. data/lib/talon_one/models/coupon_value.rb +199 -0
  225. data/lib/talon_one/models/create_application_api_key.rb +204 -0
  226. data/lib/talon_one/models/customer_activity_report.rb +365 -0
  227. data/lib/talon_one/models/customer_analytics.rb +280 -0
  228. data/lib/talon_one/models/customer_inventory.rb +194 -0
  229. data/lib/talon_one/models/customer_profile.rb +292 -0
  230. data/lib/talon_one/models/customer_profile_search_query.rb +206 -0
  231. data/lib/talon_one/models/customer_session.rb +407 -0
  232. data/lib/talon_one/models/email_entity.rb +189 -0
  233. data/lib/talon_one/models/entity.rb +204 -0
  234. data/lib/talon_one/models/environment.rb +285 -0
  235. data/lib/talon_one/models/error_response.rb +201 -0
  236. data/lib/talon_one/models/error_source.rb +215 -0
  237. data/lib/talon_one/models/event.rb +332 -0
  238. data/lib/talon_one/models/event_type.rb +426 -0
  239. data/lib/talon_one/models/export.rb +299 -0
  240. data/lib/talon_one/models/feature_flag.rb +224 -0
  241. data/lib/talon_one/models/feature_flags.rb +220 -0
  242. data/lib/talon_one/models/features_feed.rb +193 -0
  243. data/lib/talon_one/models/func_arg_def.rb +243 -0
  244. data/lib/talon_one/models/function_def.rb +260 -0
  245. data/lib/talon_one/models/import.rb +318 -0
  246. data/lib/talon_one/models/import_coupons.rb +188 -0
  247. data/lib/talon_one/models/inline_response_200.rb +204 -0
  248. data/lib/talon_one/models/inline_response_200_1.rb +204 -0
  249. data/lib/talon_one/models/inline_response_200_10.rb +204 -0
  250. data/lib/talon_one/models/inline_response_200_11.rb +204 -0
  251. data/lib/talon_one/models/inline_response_200_12.rb +204 -0
  252. data/lib/talon_one/models/inline_response_200_13.rb +204 -0
  253. data/lib/talon_one/models/inline_response_200_14.rb +204 -0
  254. data/lib/talon_one/models/inline_response_200_15.rb +204 -0
  255. data/lib/talon_one/models/inline_response_200_16.rb +204 -0
  256. data/lib/talon_one/models/inline_response_200_17.rb +204 -0
  257. data/lib/talon_one/models/inline_response_200_18.rb +204 -0
  258. data/lib/talon_one/models/inline_response_200_19.rb +204 -0
  259. data/lib/talon_one/models/inline_response_200_2.rb +204 -0
  260. data/lib/talon_one/models/inline_response_200_20.rb +204 -0
  261. data/lib/talon_one/models/inline_response_200_21.rb +204 -0
  262. data/lib/talon_one/models/inline_response_200_22.rb +204 -0
  263. data/lib/talon_one/models/inline_response_200_23.rb +204 -0
  264. data/lib/talon_one/models/inline_response_200_24.rb +204 -0
  265. data/lib/talon_one/models/inline_response_200_25.rb +204 -0
  266. data/lib/talon_one/models/inline_response_200_26.rb +208 -0
  267. data/lib/talon_one/models/inline_response_200_27.rb +204 -0
  268. data/lib/talon_one/models/inline_response_200_28.rb +204 -0
  269. data/lib/talon_one/models/inline_response_200_29.rb +204 -0
  270. data/lib/talon_one/models/inline_response_200_3.rb +204 -0
  271. data/lib/talon_one/models/inline_response_200_4.rb +204 -0
  272. data/lib/talon_one/models/inline_response_200_5.rb +204 -0
  273. data/lib/talon_one/models/inline_response_200_6.rb +204 -0
  274. data/lib/talon_one/models/inline_response_200_7.rb +204 -0
  275. data/lib/talon_one/models/inline_response_200_8.rb +204 -0
  276. data/lib/talon_one/models/inline_response_200_9.rb +204 -0
  277. data/lib/talon_one/models/integration_entity.rb +204 -0
  278. data/lib/talon_one/models/integration_event.rb +234 -0
  279. data/lib/talon_one/models/integration_profile_entity.rb +184 -0
  280. data/lib/talon_one/models/integration_state.rb +235 -0
  281. data/lib/talon_one/models/ledger_entry.rb +320 -0
  282. data/lib/talon_one/models/library_attribute.rb +330 -0
  283. data/lib/talon_one/models/limit_config.rb +274 -0
  284. data/lib/talon_one/models/login_params.rb +205 -0
  285. data/lib/talon_one/models/loyalty.rb +192 -0
  286. data/lib/talon_one/models/loyalty_ledger.rb +202 -0
  287. data/lib/talon_one/models/loyalty_ledger_entry.rb +336 -0
  288. data/lib/talon_one/models/loyalty_membership.rb +199 -0
  289. data/lib/talon_one/models/loyalty_points.rb +220 -0
  290. data/lib/talon_one/models/loyalty_program.rb +297 -0
  291. data/lib/talon_one/models/loyalty_program_balance.rb +189 -0
  292. data/lib/talon_one/models/loyalty_program_ledgers.rb +232 -0
  293. data/lib/talon_one/models/loyalty_sub_ledger.rb +213 -0
  294. data/lib/talon_one/models/manager_config.rb +188 -0
  295. data/lib/talon_one/models/meta.rb +221 -0
  296. data/lib/talon_one/models/misc_update_user_latest_feature.rb +183 -0
  297. data/lib/talon_one/models/multi_application_entity.rb +191 -0
  298. data/lib/talon_one/models/mutable_entity.rb +189 -0
  299. data/lib/talon_one/models/new_account.rb +207 -0
  300. data/lib/talon_one/models/new_account_sign_up.rb +238 -0
  301. data/lib/talon_one/models/new_application.rb +405 -0
  302. data/lib/talon_one/models/new_application_api_key.rb +295 -0
  303. data/lib/talon_one/models/new_attribute.rb +337 -0
  304. data/lib/talon_one/models/new_campaign.rb +378 -0
  305. data/lib/talon_one/models/new_campaign_set.rb +204 -0
  306. data/lib/talon_one/models/new_coupons.rb +334 -0
  307. data/lib/talon_one/models/new_customer_profile.rb +184 -0
  308. data/lib/talon_one/models/new_customer_session.rb +295 -0
  309. data/lib/talon_one/models/new_event.rb +268 -0
  310. data/lib/talon_one/models/new_event_type.rb +396 -0
  311. data/lib/talon_one/models/new_feature_flags.rb +204 -0
  312. data/lib/talon_one/models/new_import.rb +224 -0
  313. data/lib/talon_one/models/new_invitation.rb +226 -0
  314. data/lib/talon_one/models/new_invite_email.rb +240 -0
  315. data/lib/talon_one/models/new_loyalty_program.rb +257 -0
  316. data/lib/talon_one/models/new_password.rb +222 -0
  317. data/lib/talon_one/models/new_password_email.rb +207 -0
  318. data/lib/talon_one/models/new_referral.rb +234 -0
  319. data/lib/talon_one/models/new_role.rb +232 -0
  320. data/lib/talon_one/models/new_ruleset.rb +228 -0
  321. data/lib/talon_one/models/new_saml_connection.rb +371 -0
  322. data/lib/talon_one/models/new_template_def.rb +308 -0
  323. data/lib/talon_one/models/new_user.rb +248 -0
  324. data/lib/talon_one/models/new_webhook.rb +330 -0
  325. data/lib/talon_one/models/notification.rb +219 -0
  326. data/lib/talon_one/models/notifications.rb +174 -0
  327. data/lib/talon_one/models/referral.rb +348 -0
  328. data/lib/talon_one/models/referral_rejection_reason.rb +251 -0
  329. data/lib/talon_one/models/role.rb +247 -0
  330. data/lib/talon_one/models/role_assign.rb +209 -0
  331. data/lib/talon_one/models/role_membership.rb +204 -0
  332. data/lib/talon_one/models/rule.rb +245 -0
  333. data/lib/talon_one/models/ruleset.rb +299 -0
  334. data/lib/talon_one/models/saml_connection.rb +387 -0
  335. data/lib/talon_one/models/saml_connection_metadata.rb +271 -0
  336. data/lib/talon_one/models/session.rb +219 -0
  337. data/lib/talon_one/models/slot_def.rb +254 -0
  338. data/lib/talon_one/models/template_arg_def.rb +293 -0
  339. data/lib/talon_one/models/template_def.rb +398 -0
  340. data/lib/talon_one/models/update_account.rb +233 -0
  341. data/lib/talon_one/models/update_application.rb +361 -0
  342. data/lib/talon_one/models/update_campaign.rb +373 -0
  343. data/lib/talon_one/models/update_coupon.rb +249 -0
  344. data/lib/talon_one/models/update_coupon_batch.rb +254 -0
  345. data/lib/talon_one/models/update_loyalty_program.rb +227 -0
  346. data/lib/talon_one/models/update_role.rb +216 -0
  347. data/lib/talon_one/models/update_user.rb +315 -0
  348. data/lib/talon_one/models/user.rb +400 -0
  349. data/lib/talon_one/models/user_entity.rb +189 -0
  350. data/lib/talon_one/models/webhook.rb +375 -0
  351. data/lib/talon_one/models/webhook_activation_log_entry.rb +250 -0
  352. data/lib/talon_one/models/webhook_log_entry.rb +305 -0
  353. data/lib/talon_one/version.rb +15 -0
  354. data/spec/api/integration_api_spec.rb +161 -0
  355. data/spec/api/management_api_spec.rb +1318 -0
  356. data/spec/api_client_spec.rb +226 -0
  357. data/spec/configuration_spec.rb +42 -0
  358. data/spec/models/access_log_entry_spec.rb +77 -0
  359. data/spec/models/account_analytics_spec.rb +125 -0
  360. data/spec/models/account_entity_spec.rb +41 -0
  361. data/spec/models/account_limits_spec.rb +107 -0
  362. data/spec/models/account_spec.rb +147 -0
  363. data/spec/models/api_error_spec.rb +53 -0
  364. data/spec/models/application_api_health_spec.rb +51 -0
  365. data/spec/models/application_api_key_spec.rb +77 -0
  366. data/spec/models/application_customer_entity_spec.rb +41 -0
  367. data/spec/models/application_customer_search_spec.rb +53 -0
  368. data/spec/models/application_customer_spec.rb +89 -0
  369. data/spec/models/application_entity_spec.rb +41 -0
  370. data/spec/models/application_event_spec.rb +83 -0
  371. data/spec/models/application_session_entity_spec.rb +41 -0
  372. data/spec/models/application_session_spec.rb +111 -0
  373. data/spec/models/application_spec.rb +123 -0
  374. data/spec/models/attribute_query_spec.rb +35 -0
  375. data/spec/models/attribute_spec.rb +109 -0
  376. data/spec/models/attributes_mandatory_spec.rb +47 -0
  377. data/spec/models/attributes_settings_spec.rb +41 -0
  378. data/spec/models/base_saml_connection_spec.rb +83 -0
  379. data/spec/models/binding_spec.rb +47 -0
  380. data/spec/models/campaign_analytics_spec.rb +161 -0
  381. data/spec/models/campaign_copy_spec.rb +71 -0
  382. data/spec/models/campaign_entity_spec.rb +41 -0
  383. data/spec/models/campaign_search_spec.rb +41 -0
  384. data/spec/models/campaign_set_branch_node_spec.rb +67 -0
  385. data/spec/models/campaign_set_leaf_node_spec.rb +51 -0
  386. data/spec/models/campaign_set_node_spec.rb +41 -0
  387. data/spec/models/campaign_set_spec.rb +59 -0
  388. data/spec/models/campaign_spec.rb +193 -0
  389. data/spec/models/cart_item_adjustment_spec.rb +53 -0
  390. data/spec/models/cart_item_spec.rb +107 -0
  391. data/spec/models/change_spec.rb +71 -0
  392. data/spec/models/code_generator_settings_spec.rb +47 -0
  393. data/spec/models/coupon_constraints_spec.rb +53 -0
  394. data/spec/models/coupon_rejection_reason_spec.rb +57 -0
  395. data/spec/models/coupon_reservations_spec.rb +41 -0
  396. data/spec/models/coupon_search_spec.rb +41 -0
  397. data/spec/models/coupon_spec.rb +119 -0
  398. data/spec/models/coupon_value_spec.rb +41 -0
  399. data/spec/models/create_application_api_key_spec.rb +47 -0
  400. data/spec/models/customer_activity_report_spec.rb +113 -0
  401. data/spec/models/customer_analytics_spec.rb +77 -0
  402. data/spec/models/customer_inventory_spec.rb +47 -0
  403. data/spec/models/customer_profile_search_query_spec.rb +53 -0
  404. data/spec/models/customer_profile_spec.rb +83 -0
  405. data/spec/models/customer_session_spec.rb +117 -0
  406. data/spec/models/email_entity_spec.rb +41 -0
  407. data/spec/models/entity_spec.rb +47 -0
  408. data/spec/models/environment_spec.rb +77 -0
  409. data/spec/models/error_response_spec.rb +47 -0
  410. data/spec/models/error_source_spec.rb +59 -0
  411. data/spec/models/event_spec.rb +95 -0
  412. data/spec/models/event_type_spec.rb +115 -0
  413. data/spec/models/export_spec.rb +75 -0
  414. data/spec/models/feature_flag_spec.rb +59 -0
  415. data/spec/models/feature_flags_spec.rb +59 -0
  416. data/spec/models/features_feed_spec.rb +47 -0
  417. data/spec/models/func_arg_def_spec.rb +51 -0
  418. data/spec/models/function_def_spec.rb +65 -0
  419. data/spec/models/import_coupons_spec.rb +41 -0
  420. data/spec/models/import_spec.rb +75 -0
  421. data/spec/models/inline_response_200_10_spec.rb +47 -0
  422. data/spec/models/inline_response_200_11_spec.rb +47 -0
  423. data/spec/models/inline_response_200_12_spec.rb +47 -0
  424. data/spec/models/inline_response_200_13_spec.rb +47 -0
  425. data/spec/models/inline_response_200_14_spec.rb +47 -0
  426. data/spec/models/inline_response_200_15_spec.rb +47 -0
  427. data/spec/models/inline_response_200_16_spec.rb +47 -0
  428. data/spec/models/inline_response_200_17_spec.rb +47 -0
  429. data/spec/models/inline_response_200_18_spec.rb +47 -0
  430. data/spec/models/inline_response_200_19_spec.rb +47 -0
  431. data/spec/models/inline_response_200_1_spec.rb +47 -0
  432. data/spec/models/inline_response_200_20_spec.rb +47 -0
  433. data/spec/models/inline_response_200_21_spec.rb +47 -0
  434. data/spec/models/inline_response_200_22_spec.rb +47 -0
  435. data/spec/models/inline_response_200_23_spec.rb +47 -0
  436. data/spec/models/inline_response_200_24_spec.rb +47 -0
  437. data/spec/models/inline_response_200_25_spec.rb +47 -0
  438. data/spec/models/inline_response_200_26_spec.rb +53 -0
  439. data/spec/models/inline_response_200_27_spec.rb +47 -0
  440. data/spec/models/inline_response_200_28_spec.rb +47 -0
  441. data/spec/models/inline_response_200_29_spec.rb +47 -0
  442. data/spec/models/inline_response_200_2_spec.rb +47 -0
  443. data/spec/models/inline_response_200_3_spec.rb +47 -0
  444. data/spec/models/inline_response_200_4_spec.rb +47 -0
  445. data/spec/models/inline_response_200_5_spec.rb +47 -0
  446. data/spec/models/inline_response_200_6_spec.rb +47 -0
  447. data/spec/models/inline_response_200_7_spec.rb +47 -0
  448. data/spec/models/inline_response_200_8_spec.rb +47 -0
  449. data/spec/models/inline_response_200_9_spec.rb +47 -0
  450. data/spec/models/inline_response_200_spec.rb +47 -0
  451. data/spec/models/integration_entity_spec.rb +47 -0
  452. data/spec/models/integration_event_spec.rb +53 -0
  453. data/spec/models/integration_profile_entity_spec.rb +41 -0
  454. data/spec/models/integration_state_spec.rb +65 -0
  455. data/spec/models/ledger_entry_spec.rb +95 -0
  456. data/spec/models/library_attribute_spec.rb +85 -0
  457. data/spec/models/limit_config_spec.rb +61 -0
  458. data/spec/models/login_params_spec.rb +47 -0
  459. data/spec/models/loyalty_ledger_entry_spec.rb +99 -0
  460. data/spec/models/loyalty_ledger_spec.rb +47 -0
  461. data/spec/models/loyalty_membership_spec.rb +47 -0
  462. data/spec/models/loyalty_points_spec.rb +59 -0
  463. data/spec/models/loyalty_program_balance_spec.rb +41 -0
  464. data/spec/models/loyalty_program_ledgers_spec.rb +59 -0
  465. data/spec/models/loyalty_program_spec.rb +83 -0
  466. data/spec/models/loyalty_spec.rb +41 -0
  467. data/spec/models/loyalty_sub_ledger_spec.rb +53 -0
  468. data/spec/models/manager_config_spec.rb +41 -0
  469. data/spec/models/meta_spec.rb +65 -0
  470. data/spec/models/misc_update_user_latest_feature_spec.rb +41 -0
  471. data/spec/models/multi_application_entity_spec.rb +41 -0
  472. data/spec/models/mutable_entity_spec.rb +41 -0
  473. data/spec/models/new_account_sign_up_spec.rb +53 -0
  474. data/spec/models/new_account_spec.rb +41 -0
  475. data/spec/models/new_application_api_key_spec.rb +83 -0
  476. data/spec/models/new_application_spec.rb +93 -0
  477. data/spec/models/new_attribute_spec.rb +91 -0
  478. data/spec/models/new_campaign_set_spec.rb +47 -0
  479. data/spec/models/new_campaign_spec.rb +115 -0
  480. data/spec/models/new_coupons_spec.rb +89 -0
  481. data/spec/models/new_customer_profile_spec.rb +41 -0
  482. data/spec/models/new_customer_session_spec.rb +87 -0
  483. data/spec/models/new_event_spec.rb +59 -0
  484. data/spec/models/new_event_type_spec.rb +103 -0
  485. data/spec/models/new_feature_flags_spec.rb +53 -0
  486. data/spec/models/new_import_spec.rb +45 -0
  487. data/spec/models/new_invitation_spec.rb +59 -0
  488. data/spec/models/new_invite_email_spec.rb +47 -0
  489. data/spec/models/new_loyalty_program_spec.rb +71 -0
  490. data/spec/models/new_password_email_spec.rb +41 -0
  491. data/spec/models/new_password_spec.rb +47 -0
  492. data/spec/models/new_referral_spec.rb +65 -0
  493. data/spec/models/new_role_spec.rb +59 -0
  494. data/spec/models/new_ruleset_spec.rb +59 -0
  495. data/spec/models/new_saml_connection_spec.rb +89 -0
  496. data/spec/models/new_template_def_spec.rb +77 -0
  497. data/spec/models/new_user_spec.rb +59 -0
  498. data/spec/models/new_webhook_spec.rb +87 -0
  499. data/spec/models/notification_spec.rb +53 -0
  500. data/spec/models/notifications_spec.rb +35 -0
  501. data/spec/models/referral_rejection_reason_spec.rb +57 -0
  502. data/spec/models/referral_spec.rb +95 -0
  503. data/spec/models/role_assign_spec.rb +47 -0
  504. data/spec/models/role_membership_spec.rb +47 -0
  505. data/spec/models/role_spec.rb +71 -0
  506. data/spec/models/rule_spec.rb +65 -0
  507. data/spec/models/ruleset_spec.rb +89 -0
  508. data/spec/models/saml_connection_metadata_spec.rb +59 -0
  509. data/spec/models/saml_connection_spec.rb +101 -0
  510. data/spec/models/session_spec.rb +53 -0
  511. data/spec/models/slot_def_spec.rb +71 -0
  512. data/spec/models/template_arg_def_spec.rb +63 -0
  513. data/spec/models/template_def_spec.rb +101 -0
  514. data/spec/models/update_account_spec.rb +53 -0
  515. data/spec/models/update_application_spec.rb +87 -0
  516. data/spec/models/update_campaign_spec.rb +115 -0
  517. data/spec/models/update_coupon_batch_spec.rb +65 -0
  518. data/spec/models/update_coupon_spec.rb +65 -0
  519. data/spec/models/update_loyalty_program_spec.rb +65 -0
  520. data/spec/models/update_role_spec.rb +59 -0
  521. data/spec/models/update_user_spec.rb +99 -0
  522. data/spec/models/user_entity_spec.rb +41 -0
  523. data/spec/models/user_spec.rb +123 -0
  524. data/spec/models/webhook_activation_log_entry_spec.rb +65 -0
  525. data/spec/models/webhook_log_entry_spec.rb +95 -0
  526. data/spec/models/webhook_spec.rb +105 -0
  527. data/spec/spec_helper.rb +111 -0
  528. data/talon_one-1.0.0.gem +0 -0
  529. data/talon_one-1.1.0.gem +0 -0
  530. data/talon_one-1.1.1.gem +0 -0
  531. data/talon_one-1.1.2.gem +0 -0
  532. data/talon_one-1.2.0.gem +0 -0
  533. data/talon_one-1.3.0.gem +0 -0
  534. data/talon_one.gemspec +45 -0
  535. metadata +933 -0
@@ -0,0 +1,491 @@
1
+ =begin
2
+ #Talon.One API
3
+
4
+ #The Talon.One API is used to manage applications and campaigns, as well as to integrate with your application. The operations in the _Integration API_ section are used to integrate with our platform, while the other operations are used to manage applications and campaigns. ### Where is the API? The API is available at the same hostname as these docs. For example, if you are reading this page at `https://mycompany.talon.one/docs/api/`, the URL for the [updateCustomerProfile][] operation is `https://mycompany.talon.one/v1/customer_profiles/id` [updateCustomerProfile]: #operation--v1-customer_profiles--integrationId--put
5
+
6
+ OpenAPI spec version: 1.0.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.7
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module TalonOne
16
+ #
17
+ class Application
18
+ # Unique ID for this entity.
19
+ attr_accessor :id
20
+
21
+ # The exact moment this entity was created.
22
+ attr_accessor :created
23
+
24
+ # The exact moment this entity was last modified.
25
+ attr_accessor :modified
26
+
27
+ # The ID of the account that owns this entity.
28
+ attr_accessor :account_id
29
+
30
+ # The name of this application.
31
+ attr_accessor :name
32
+
33
+ # A longer description of the application.
34
+ attr_accessor :description
35
+
36
+ # A string containing an IANA timezone descriptor.
37
+ attr_accessor :timezone
38
+
39
+ # A string describing a default currency for new customer sessions.
40
+ attr_accessor :currency
41
+
42
+ # A string indicating how should campaigns in this application deal with case sensitivity on coupon codes.
43
+ attr_accessor :case_sensitivity
44
+
45
+ # Arbitrary properties associated with this campaign
46
+ attr_accessor :attributes
47
+
48
+ # Default limits for campaigns created in this application
49
+ attr_accessor :limits
50
+
51
+ attr_accessor :attributes_settings
52
+
53
+ # Hex key for HMAC-signing API calls as coming from this application (16 hex digits)
54
+ attr_accessor :key
55
+
56
+ # An array containing all the loyalty programs to which this application is subscribed
57
+ attr_accessor :loyalty_programs
58
+
59
+ class EnumAttributeValidator
60
+ attr_reader :datatype
61
+ attr_reader :allowable_values
62
+
63
+ def initialize(datatype, allowable_values)
64
+ @allowable_values = allowable_values.map do |value|
65
+ case datatype.to_s
66
+ when /Integer/i
67
+ value.to_i
68
+ when /Float/i
69
+ value.to_f
70
+ else
71
+ value
72
+ end
73
+ end
74
+ end
75
+
76
+ def valid?(value)
77
+ !value || allowable_values.include?(value)
78
+ end
79
+ end
80
+
81
+ # Attribute mapping from ruby-style variable name to JSON key.
82
+ def self.attribute_map
83
+ {
84
+ :'id' => :'id',
85
+ :'created' => :'created',
86
+ :'modified' => :'modified',
87
+ :'account_id' => :'accountId',
88
+ :'name' => :'name',
89
+ :'description' => :'description',
90
+ :'timezone' => :'timezone',
91
+ :'currency' => :'currency',
92
+ :'case_sensitivity' => :'caseSensitivity',
93
+ :'attributes' => :'attributes',
94
+ :'limits' => :'limits',
95
+ :'attributes_settings' => :'attributesSettings',
96
+ :'key' => :'key',
97
+ :'loyalty_programs' => :'loyaltyPrograms'
98
+ }
99
+ end
100
+
101
+ # Attribute type mapping.
102
+ def self.swagger_types
103
+ {
104
+ :'id' => :'Integer',
105
+ :'created' => :'DateTime',
106
+ :'modified' => :'DateTime',
107
+ :'account_id' => :'Integer',
108
+ :'name' => :'String',
109
+ :'description' => :'String',
110
+ :'timezone' => :'String',
111
+ :'currency' => :'String',
112
+ :'case_sensitivity' => :'String',
113
+ :'attributes' => :'Object',
114
+ :'limits' => :'Array<LimitConfig>',
115
+ :'attributes_settings' => :'AttributesSettings',
116
+ :'key' => :'String',
117
+ :'loyalty_programs' => :'Array<LoyaltyProgram>'
118
+ }
119
+ end
120
+
121
+ # Initializes the object
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ def initialize(attributes = {})
124
+ return unless attributes.is_a?(Hash)
125
+
126
+ # convert string to symbol for hash key
127
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
128
+
129
+ if attributes.has_key?(:'id')
130
+ self.id = attributes[:'id']
131
+ end
132
+
133
+ if attributes.has_key?(:'created')
134
+ self.created = attributes[:'created']
135
+ end
136
+
137
+ if attributes.has_key?(:'modified')
138
+ self.modified = attributes[:'modified']
139
+ end
140
+
141
+ if attributes.has_key?(:'accountId')
142
+ self.account_id = attributes[:'accountId']
143
+ end
144
+
145
+ if attributes.has_key?(:'name')
146
+ self.name = attributes[:'name']
147
+ end
148
+
149
+ if attributes.has_key?(:'description')
150
+ self.description = attributes[:'description']
151
+ end
152
+
153
+ if attributes.has_key?(:'timezone')
154
+ self.timezone = attributes[:'timezone']
155
+ end
156
+
157
+ if attributes.has_key?(:'currency')
158
+ self.currency = attributes[:'currency']
159
+ end
160
+
161
+ if attributes.has_key?(:'caseSensitivity')
162
+ self.case_sensitivity = attributes[:'caseSensitivity']
163
+ end
164
+
165
+ if attributes.has_key?(:'attributes')
166
+ self.attributes = attributes[:'attributes']
167
+ end
168
+
169
+ if attributes.has_key?(:'limits')
170
+ if (value = attributes[:'limits']).is_a?(Array)
171
+ self.limits = value
172
+ end
173
+ end
174
+
175
+ if attributes.has_key?(:'attributesSettings')
176
+ self.attributes_settings = attributes[:'attributesSettings']
177
+ end
178
+
179
+ if attributes.has_key?(:'key')
180
+ self.key = attributes[:'key']
181
+ end
182
+
183
+ if attributes.has_key?(:'loyaltyPrograms')
184
+ if (value = attributes[:'loyaltyPrograms']).is_a?(Array)
185
+ self.loyalty_programs = value
186
+ end
187
+ end
188
+ end
189
+
190
+ # Show invalid properties with the reasons. Usually used together with valid?
191
+ # @return Array for valid properties with the reasons
192
+ def list_invalid_properties
193
+ invalid_properties = Array.new
194
+ if @id.nil?
195
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
196
+ end
197
+
198
+ if @created.nil?
199
+ invalid_properties.push('invalid value for "created", created cannot be nil.')
200
+ end
201
+
202
+ if @modified.nil?
203
+ invalid_properties.push('invalid value for "modified", modified cannot be nil.')
204
+ end
205
+
206
+ if @account_id.nil?
207
+ invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
208
+ end
209
+
210
+ if @name.nil?
211
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
212
+ end
213
+
214
+ if @name.to_s.length < 1
215
+ invalid_properties.push('invalid value for "name", the character length must be great than or equal to 1.')
216
+ end
217
+
218
+ if @timezone.nil?
219
+ invalid_properties.push('invalid value for "timezone", timezone cannot be nil.')
220
+ end
221
+
222
+ if @timezone.to_s.length < 1
223
+ invalid_properties.push('invalid value for "timezone", the character length must be great than or equal to 1.')
224
+ end
225
+
226
+ if @currency.nil?
227
+ invalid_properties.push('invalid value for "currency", currency cannot be nil.')
228
+ end
229
+
230
+ if @currency.to_s.length < 1
231
+ invalid_properties.push('invalid value for "currency", the character length must be great than or equal to 1.')
232
+ end
233
+
234
+ if @key.nil?
235
+ invalid_properties.push('invalid value for "key", key cannot be nil.')
236
+ end
237
+
238
+ if @key.to_s.length > 16
239
+ invalid_properties.push('invalid value for "key", the character length must be smaller than or equal to 16.')
240
+ end
241
+
242
+ if @key.to_s.length < 16
243
+ invalid_properties.push('invalid value for "key", the character length must be great than or equal to 16.')
244
+ end
245
+
246
+ if @key !~ Regexp.new(/^[a-fA-F0-9]{16}$/)
247
+ invalid_properties.push('invalid value for "key", must conform to the pattern /^[a-fA-F0-9]{16}$/.')
248
+ end
249
+
250
+ if @loyalty_programs.nil?
251
+ invalid_properties.push('invalid value for "loyalty_programs", loyalty_programs cannot be nil.')
252
+ end
253
+
254
+ invalid_properties
255
+ end
256
+
257
+ # Check to see if the all the properties in the model are valid
258
+ # @return true if the model is valid
259
+ def valid?
260
+ return false if @id.nil?
261
+ return false if @created.nil?
262
+ return false if @modified.nil?
263
+ return false if @account_id.nil?
264
+ return false if @name.nil?
265
+ return false if @name.to_s.length < 1
266
+ return false if @timezone.nil?
267
+ return false if @timezone.to_s.length < 1
268
+ return false if @currency.nil?
269
+ return false if @currency.to_s.length < 1
270
+ case_sensitivity_validator = EnumAttributeValidator.new('String', ['sensitive', 'insensitive-uppercase', 'insensitive-lowercase'])
271
+ return false unless case_sensitivity_validator.valid?(@case_sensitivity)
272
+ return false if @key.nil?
273
+ return false if @key.to_s.length > 16
274
+ return false if @key.to_s.length < 16
275
+ return false if @key !~ Regexp.new(/^[a-fA-F0-9]{16}$/)
276
+ return false if @loyalty_programs.nil?
277
+ true
278
+ end
279
+
280
+ # Custom attribute writer method with validation
281
+ # @param [Object] name Value to be assigned
282
+ def name=(name)
283
+ if name.nil?
284
+ fail ArgumentError, 'name cannot be nil'
285
+ end
286
+
287
+ if name.to_s.length < 1
288
+ fail ArgumentError, 'invalid value for "name", the character length must be great than or equal to 1.'
289
+ end
290
+
291
+ @name = name
292
+ end
293
+
294
+ # Custom attribute writer method with validation
295
+ # @param [Object] timezone Value to be assigned
296
+ def timezone=(timezone)
297
+ if timezone.nil?
298
+ fail ArgumentError, 'timezone cannot be nil'
299
+ end
300
+
301
+ if timezone.to_s.length < 1
302
+ fail ArgumentError, 'invalid value for "timezone", the character length must be great than or equal to 1.'
303
+ end
304
+
305
+ @timezone = timezone
306
+ end
307
+
308
+ # Custom attribute writer method with validation
309
+ # @param [Object] currency Value to be assigned
310
+ def currency=(currency)
311
+ if currency.nil?
312
+ fail ArgumentError, 'currency cannot be nil'
313
+ end
314
+
315
+ if currency.to_s.length < 1
316
+ fail ArgumentError, 'invalid value for "currency", the character length must be great than or equal to 1.'
317
+ end
318
+
319
+ @currency = currency
320
+ end
321
+
322
+ # Custom attribute writer method checking allowed values (enum).
323
+ # @param [Object] case_sensitivity Object to be assigned
324
+ def case_sensitivity=(case_sensitivity)
325
+ validator = EnumAttributeValidator.new('String', ['sensitive', 'insensitive-uppercase', 'insensitive-lowercase'])
326
+ unless validator.valid?(case_sensitivity)
327
+ fail ArgumentError, 'invalid value for "case_sensitivity", must be one of #{validator.allowable_values}.'
328
+ end
329
+ @case_sensitivity = case_sensitivity
330
+ end
331
+
332
+ # Custom attribute writer method with validation
333
+ # @param [Object] key Value to be assigned
334
+ def key=(key)
335
+ if key.nil?
336
+ fail ArgumentError, 'key cannot be nil'
337
+ end
338
+
339
+ if key.to_s.length > 16
340
+ fail ArgumentError, 'invalid value for "key", the character length must be smaller than or equal to 16.'
341
+ end
342
+
343
+ if key.to_s.length < 16
344
+ fail ArgumentError, 'invalid value for "key", the character length must be great than or equal to 16.'
345
+ end
346
+
347
+ if key !~ Regexp.new(/^[a-fA-F0-9]{16}$/)
348
+ fail ArgumentError, 'invalid value for "key", must conform to the pattern /^[a-fA-F0-9]{16}$/.'
349
+ end
350
+
351
+ @key = key
352
+ end
353
+
354
+ # Checks equality by comparing each attribute.
355
+ # @param [Object] Object to be compared
356
+ def ==(o)
357
+ return true if self.equal?(o)
358
+ self.class == o.class &&
359
+ id == o.id &&
360
+ created == o.created &&
361
+ modified == o.modified &&
362
+ account_id == o.account_id &&
363
+ name == o.name &&
364
+ description == o.description &&
365
+ timezone == o.timezone &&
366
+ currency == o.currency &&
367
+ case_sensitivity == o.case_sensitivity &&
368
+ attributes == o.attributes &&
369
+ limits == o.limits &&
370
+ attributes_settings == o.attributes_settings &&
371
+ key == o.key &&
372
+ loyalty_programs == o.loyalty_programs
373
+ end
374
+
375
+ # @see the `==` method
376
+ # @param [Object] Object to be compared
377
+ def eql?(o)
378
+ self == o
379
+ end
380
+
381
+ # Calculates hash code according to all attributes.
382
+ # @return [Fixnum] Hash code
383
+ def hash
384
+ [id, created, modified, account_id, name, description, timezone, currency, case_sensitivity, attributes, limits, attributes_settings, key, loyalty_programs].hash
385
+ end
386
+
387
+ # Builds the object from hash
388
+ # @param [Hash] attributes Model attributes in the form of hash
389
+ # @return [Object] Returns the model itself
390
+ def build_from_hash(attributes)
391
+ return nil unless attributes.is_a?(Hash)
392
+ self.class.swagger_types.each_pair do |key, type|
393
+ if type =~ /\AArray<(.*)>/i
394
+ # check to ensure the input is an array given that the the attribute
395
+ # is documented as an array but the input is not
396
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
397
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
398
+ end
399
+ elsif !attributes[self.class.attribute_map[key]].nil?
400
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
401
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
402
+ end
403
+
404
+ self
405
+ end
406
+
407
+ # Deserializes the data based on type
408
+ # @param string type Data type
409
+ # @param string value Value to be deserialized
410
+ # @return [Object] Deserialized data
411
+ def _deserialize(type, value)
412
+ case type.to_sym
413
+ when :DateTime
414
+ DateTime.parse(value)
415
+ when :Date
416
+ Date.parse(value)
417
+ when :String
418
+ value.to_s
419
+ when :Integer
420
+ value.to_i
421
+ when :Float
422
+ value.to_f
423
+ when :BOOLEAN
424
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
425
+ true
426
+ else
427
+ false
428
+ end
429
+ when :Object
430
+ # generic object (usually a Hash), return directly
431
+ value
432
+ when /\AArray<(?<inner_type>.+)>\z/
433
+ inner_type = Regexp.last_match[:inner_type]
434
+ value.map { |v| _deserialize(inner_type, v) }
435
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
436
+ k_type = Regexp.last_match[:k_type]
437
+ v_type = Regexp.last_match[:v_type]
438
+ {}.tap do |hash|
439
+ value.each do |k, v|
440
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
441
+ end
442
+ end
443
+ else # model
444
+ temp_model = TalonOne.const_get(type).new
445
+ temp_model.build_from_hash(value)
446
+ end
447
+ end
448
+
449
+ # Returns the string representation of the object
450
+ # @return [String] String presentation of the object
451
+ def to_s
452
+ to_hash.to_s
453
+ end
454
+
455
+ # to_body is an alias to to_hash (backward compatibility)
456
+ # @return [Hash] Returns the object in the form of hash
457
+ def to_body
458
+ to_hash
459
+ end
460
+
461
+ # Returns the object in the form of hash
462
+ # @return [Hash] Returns the object in the form of hash
463
+ def to_hash
464
+ hash = {}
465
+ self.class.attribute_map.each_pair do |attr, param|
466
+ value = self.send(attr)
467
+ next if value.nil?
468
+ hash[param] = _to_hash(value)
469
+ end
470
+ hash
471
+ end
472
+
473
+ # Outputs non-array value in the form of hash
474
+ # For object, use to_hash. Otherwise, just return the value
475
+ # @param [Object] value Any valid value
476
+ # @return [Hash] Returns the value in the form of hash
477
+ def _to_hash(value)
478
+ if value.is_a?(Array)
479
+ value.compact.map { |v| _to_hash(v) }
480
+ elsif value.is_a?(Hash)
481
+ {}.tap do |hash|
482
+ value.each { |k, v| hash[k] = _to_hash(v) }
483
+ end
484
+ elsif value.respond_to? :to_hash
485
+ value.to_hash
486
+ else
487
+ value
488
+ end
489
+ end
490
+ end
491
+ end