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