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,351 @@
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
+ # Total allowed active rulesets
48
+ attr_accessor :active_rules
49
+
50
+ # array of rulesets where webhook is used
51
+ attr_accessor :promotion_types
52
+
53
+ # Attribute mapping from ruby-style variable name to JSON key.
54
+ def self.attribute_map
55
+ {
56
+ :'live_applications' => :'liveApplications',
57
+ :'sandbox_applications' => :'sandboxApplications',
58
+ :'active_campaigns' => :'activeCampaigns',
59
+ :'coupons' => :'coupons',
60
+ :'referral_codes' => :'referralCodes',
61
+ :'live_loyalty_programs' => :'liveLoyaltyPrograms',
62
+ :'sandbox_loyalty_programs' => :'sandboxLoyaltyPrograms',
63
+ :'webhooks' => :'webhooks',
64
+ :'users' => :'users',
65
+ :'api_volume' => :'apiVolume',
66
+ :'active_rules' => :'activeRules',
67
+ :'promotion_types' => :'promotionTypes'
68
+ }
69
+ end
70
+
71
+ # Attribute type mapping.
72
+ def self.swagger_types
73
+ {
74
+ :'live_applications' => :'Integer',
75
+ :'sandbox_applications' => :'Integer',
76
+ :'active_campaigns' => :'Integer',
77
+ :'coupons' => :'Integer',
78
+ :'referral_codes' => :'Integer',
79
+ :'live_loyalty_programs' => :'Integer',
80
+ :'sandbox_loyalty_programs' => :'Integer',
81
+ :'webhooks' => :'Integer',
82
+ :'users' => :'Integer',
83
+ :'api_volume' => :'Integer',
84
+ :'active_rules' => :'Integer',
85
+ :'promotion_types' => :'Array<String>'
86
+ }
87
+ end
88
+
89
+ # Initializes the object
90
+ # @param [Hash] attributes Model attributes in the form of hash
91
+ def initialize(attributes = {})
92
+ return unless attributes.is_a?(Hash)
93
+
94
+ # convert string to symbol for hash key
95
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
96
+
97
+ if attributes.has_key?(:'liveApplications')
98
+ self.live_applications = attributes[:'liveApplications']
99
+ end
100
+
101
+ if attributes.has_key?(:'sandboxApplications')
102
+ self.sandbox_applications = attributes[:'sandboxApplications']
103
+ end
104
+
105
+ if attributes.has_key?(:'activeCampaigns')
106
+ self.active_campaigns = attributes[:'activeCampaigns']
107
+ end
108
+
109
+ if attributes.has_key?(:'coupons')
110
+ self.coupons = attributes[:'coupons']
111
+ end
112
+
113
+ if attributes.has_key?(:'referralCodes')
114
+ self.referral_codes = attributes[:'referralCodes']
115
+ end
116
+
117
+ if attributes.has_key?(:'liveLoyaltyPrograms')
118
+ self.live_loyalty_programs = attributes[:'liveLoyaltyPrograms']
119
+ end
120
+
121
+ if attributes.has_key?(:'sandboxLoyaltyPrograms')
122
+ self.sandbox_loyalty_programs = attributes[:'sandboxLoyaltyPrograms']
123
+ end
124
+
125
+ if attributes.has_key?(:'webhooks')
126
+ self.webhooks = attributes[:'webhooks']
127
+ end
128
+
129
+ if attributes.has_key?(:'users')
130
+ self.users = attributes[:'users']
131
+ end
132
+
133
+ if attributes.has_key?(:'apiVolume')
134
+ self.api_volume = attributes[:'apiVolume']
135
+ end
136
+
137
+ if attributes.has_key?(:'activeRules')
138
+ self.active_rules = attributes[:'activeRules']
139
+ end
140
+
141
+ if attributes.has_key?(:'promotionTypes')
142
+ if (value = attributes[:'promotionTypes']).is_a?(Array)
143
+ self.promotion_types = value
144
+ end
145
+ end
146
+ end
147
+
148
+ # Show invalid properties with the reasons. Usually used together with valid?
149
+ # @return Array for valid properties with the reasons
150
+ def list_invalid_properties
151
+ invalid_properties = Array.new
152
+ if @live_applications.nil?
153
+ invalid_properties.push('invalid value for "live_applications", live_applications cannot be nil.')
154
+ end
155
+
156
+ if @sandbox_applications.nil?
157
+ invalid_properties.push('invalid value for "sandbox_applications", sandbox_applications cannot be nil.')
158
+ end
159
+
160
+ if @active_campaigns.nil?
161
+ invalid_properties.push('invalid value for "active_campaigns", active_campaigns cannot be nil.')
162
+ end
163
+
164
+ if @coupons.nil?
165
+ invalid_properties.push('invalid value for "coupons", coupons cannot be nil.')
166
+ end
167
+
168
+ if @referral_codes.nil?
169
+ invalid_properties.push('invalid value for "referral_codes", referral_codes cannot be nil.')
170
+ end
171
+
172
+ if @live_loyalty_programs.nil?
173
+ invalid_properties.push('invalid value for "live_loyalty_programs", live_loyalty_programs cannot be nil.')
174
+ end
175
+
176
+ if @sandbox_loyalty_programs.nil?
177
+ invalid_properties.push('invalid value for "sandbox_loyalty_programs", sandbox_loyalty_programs cannot be nil.')
178
+ end
179
+
180
+ if @webhooks.nil?
181
+ invalid_properties.push('invalid value for "webhooks", webhooks cannot be nil.')
182
+ end
183
+
184
+ if @users.nil?
185
+ invalid_properties.push('invalid value for "users", users cannot be nil.')
186
+ end
187
+
188
+ if @api_volume.nil?
189
+ invalid_properties.push('invalid value for "api_volume", api_volume cannot be nil.')
190
+ end
191
+
192
+ if @promotion_types.nil?
193
+ invalid_properties.push('invalid value for "promotion_types", promotion_types cannot be nil.')
194
+ end
195
+
196
+ invalid_properties
197
+ end
198
+
199
+ # Check to see if the all the properties in the model are valid
200
+ # @return true if the model is valid
201
+ def valid?
202
+ return false if @live_applications.nil?
203
+ return false if @sandbox_applications.nil?
204
+ return false if @active_campaigns.nil?
205
+ return false if @coupons.nil?
206
+ return false if @referral_codes.nil?
207
+ return false if @live_loyalty_programs.nil?
208
+ return false if @sandbox_loyalty_programs.nil?
209
+ return false if @webhooks.nil?
210
+ return false if @users.nil?
211
+ return false if @api_volume.nil?
212
+ return false if @promotion_types.nil?
213
+ true
214
+ end
215
+
216
+ # Checks equality by comparing each attribute.
217
+ # @param [Object] Object to be compared
218
+ def ==(o)
219
+ return true if self.equal?(o)
220
+ self.class == o.class &&
221
+ live_applications == o.live_applications &&
222
+ sandbox_applications == o.sandbox_applications &&
223
+ active_campaigns == o.active_campaigns &&
224
+ coupons == o.coupons &&
225
+ referral_codes == o.referral_codes &&
226
+ live_loyalty_programs == o.live_loyalty_programs &&
227
+ sandbox_loyalty_programs == o.sandbox_loyalty_programs &&
228
+ webhooks == o.webhooks &&
229
+ users == o.users &&
230
+ api_volume == o.api_volume &&
231
+ active_rules == o.active_rules &&
232
+ promotion_types == o.promotion_types
233
+ end
234
+
235
+ # @see the `==` method
236
+ # @param [Object] Object to be compared
237
+ def eql?(o)
238
+ self == o
239
+ end
240
+
241
+ # Calculates hash code according to all attributes.
242
+ # @return [Fixnum] Hash code
243
+ def hash
244
+ [live_applications, sandbox_applications, active_campaigns, coupons, referral_codes, live_loyalty_programs, sandbox_loyalty_programs, webhooks, users, api_volume, active_rules, promotion_types].hash
245
+ end
246
+
247
+ # Builds the object from hash
248
+ # @param [Hash] attributes Model attributes in the form of hash
249
+ # @return [Object] Returns the model itself
250
+ def build_from_hash(attributes)
251
+ return nil unless attributes.is_a?(Hash)
252
+ self.class.swagger_types.each_pair do |key, type|
253
+ if type =~ /\AArray<(.*)>/i
254
+ # check to ensure the input is an array given that the the attribute
255
+ # is documented as an array but the input is not
256
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
257
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
258
+ end
259
+ elsif !attributes[self.class.attribute_map[key]].nil?
260
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
261
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
262
+ end
263
+
264
+ self
265
+ end
266
+
267
+ # Deserializes the data based on type
268
+ # @param string type Data type
269
+ # @param string value Value to be deserialized
270
+ # @return [Object] Deserialized data
271
+ def _deserialize(type, value)
272
+ case type.to_sym
273
+ when :DateTime
274
+ DateTime.parse(value)
275
+ when :Date
276
+ Date.parse(value)
277
+ when :String
278
+ value.to_s
279
+ when :Integer
280
+ value.to_i
281
+ when :Float
282
+ value.to_f
283
+ when :BOOLEAN
284
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
285
+ true
286
+ else
287
+ false
288
+ end
289
+ when :Object
290
+ # generic object (usually a Hash), return directly
291
+ value
292
+ when /\AArray<(?<inner_type>.+)>\z/
293
+ inner_type = Regexp.last_match[:inner_type]
294
+ value.map { |v| _deserialize(inner_type, v) }
295
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
296
+ k_type = Regexp.last_match[:k_type]
297
+ v_type = Regexp.last_match[:v_type]
298
+ {}.tap do |hash|
299
+ value.each do |k, v|
300
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
301
+ end
302
+ end
303
+ else # model
304
+ temp_model = TalonOne.const_get(type).new
305
+ temp_model.build_from_hash(value)
306
+ end
307
+ end
308
+
309
+ # Returns the string representation of the object
310
+ # @return [String] String presentation of the object
311
+ def to_s
312
+ to_hash.to_s
313
+ end
314
+
315
+ # to_body is an alias to to_hash (backward compatibility)
316
+ # @return [Hash] Returns the object in the form of hash
317
+ def to_body
318
+ to_hash
319
+ end
320
+
321
+ # Returns the object in the form of hash
322
+ # @return [Hash] Returns the object in the form of hash
323
+ def to_hash
324
+ hash = {}
325
+ self.class.attribute_map.each_pair do |attr, param|
326
+ value = self.send(attr)
327
+ next if value.nil?
328
+ hash[param] = _to_hash(value)
329
+ end
330
+ hash
331
+ end
332
+
333
+ # Outputs non-array value in the form of hash
334
+ # For object, use to_hash. Otherwise, just return the value
335
+ # @param [Object] value Any valid value
336
+ # @return [Hash] Returns the value in the form of hash
337
+ def _to_hash(value)
338
+ if value.is_a?(Array)
339
+ value.compact.map { |v| _to_hash(v) }
340
+ elsif value.is_a?(Hash)
341
+ {}.tap do |hash|
342
+ value.each { |k, v| hash[k] = _to_hash(v) }
343
+ end
344
+ elsif value.respond_to? :to_hash
345
+ value.to_hash
346
+ else
347
+ value
348
+ end
349
+ end
350
+ end
351
+ 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