purecloudplatformclientv2 13.1.0 → 14.0.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 (325) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/AgentActivityEntityListing.md +2 -2
  4. data/docs/ArchitectApi.md +966 -33
  5. data/docs/AttemptLimitsEntityListing.md +2 -2
  6. data/docs/AttributeEntityListing.md +2 -2
  7. data/docs/AuditQueryResponse.md +12 -0
  8. data/docs/AuthorizationApi.md +2 -0
  9. data/docs/CalibrationEntityListing.md +2 -2
  10. data/docs/Call.md +1 -0
  11. data/docs/CallBasic.md +1 -0
  12. data/docs/CallConversationEntityListing.md +2 -2
  13. data/docs/CallableTimeSetEntityListing.md +2 -2
  14. data/docs/CallbackConversationEntityListing.md +2 -2
  15. data/docs/CampaignEntityListing.md +2 -2
  16. data/docs/CampaignRuleEntityListing.md +2 -2
  17. data/docs/CampaignSequenceEntityListing.md +2 -2
  18. data/docs/CertificateAuthorityEntityListing.md +2 -2
  19. data/docs/ChatConversationEntityListing.md +2 -2
  20. data/docs/CobrowseConversationEntityListing.md +2 -2
  21. data/docs/CommandStatusEntityListing.md +2 -2
  22. data/docs/ConsumedResourcesEntityListing.md +2 -2
  23. data/docs/ConsumingResourcesEntityListing.md +2 -2
  24. data/docs/ContactListEntityListing.md +2 -2
  25. data/docs/ContactListFilterEntityListing.md +2 -2
  26. data/docs/ContactListing.md +2 -2
  27. data/docs/ConversationChat.md +1 -0
  28. data/docs/ConversationEntityListing.md +2 -2
  29. data/docs/ConversationsApi.md +71 -2
  30. data/docs/CreateCallbackOnConversationCommand.md +20 -0
  31. data/docs/DIDEntityListing.md +2 -2
  32. data/docs/DIDPoolEntityListing.md +2 -2
  33. data/docs/DependencyObjectEntityListing.md +2 -2
  34. data/docs/DependencyTypeEntityListing.md +2 -2
  35. data/docs/DialerEventEntityListing.md +2 -2
  36. data/docs/DncListEntityListing.md +2 -2
  37. data/docs/DocumentAuditEntityListing.md +2 -2
  38. data/docs/DocumentEntityListing.md +2 -2
  39. data/docs/DocumentationSearchRequest.md +1 -0
  40. data/docs/DomainEdgeSoftwareVersionDtoEntityListing.md +2 -2
  41. data/docs/DomainEntityListing.md +2 -2
  42. data/docs/DomainEntityListingEvaluationForm.md +2 -2
  43. data/docs/DomainEntityListingQueryResult.md +2 -2
  44. data/docs/EdgeEntityListing.md +2 -2
  45. data/docs/EdgeGroupEntityListing.md +2 -2
  46. data/docs/EdgeLineEntityListing.md +2 -2
  47. data/docs/Email.md +2 -0
  48. data/docs/EmailConversationEntityListing.md +2 -2
  49. data/docs/EmailMessageListing.md +2 -2
  50. data/docs/EncryptionKeyEntityListing.md +2 -2
  51. data/docs/EndpointEntityListing.md +2 -2
  52. data/docs/EvaluationEntityListing.md +2 -2
  53. data/docs/EvaluationFormEntityListing.md +2 -2
  54. data/docs/EvaluatorActivityEntityListing.md +2 -2
  55. data/docs/ExtensionEntityListing.md +2 -2
  56. data/docs/ExtensionPoolEntityListing.md +2 -2
  57. data/docs/ExternalContactsApi.md +2 -2
  58. data/docs/ExternalOrganizationListing.md +2 -2
  59. data/docs/Facet.md +14 -0
  60. data/docs/FaxDocumentEntityListing.md +2 -2
  61. data/docs/Filter.md +16 -0
  62. data/docs/FlowEntityListing.md +2 -2
  63. data/docs/FlowVersionEntityListing.md +2 -2
  64. data/docs/GreetingListing.md +2 -2
  65. data/docs/GroupEntityListing.md +2 -2
  66. data/docs/GroupSearchRequest.md +1 -0
  67. data/docs/HistoryListing.md +10 -5
  68. data/docs/IVR.md +28 -0
  69. data/docs/IVREntityListing.md +22 -0
  70. data/docs/InboundDomainEntityListing.md +2 -2
  71. data/docs/InboundRouteEntityListing.md +2 -2
  72. data/docs/InteractionStatsAlertContainer.md +2 -2
  73. data/docs/InteractionStatsRuleContainer.md +2 -2
  74. data/docs/KeywordSetEntityListing.md +2 -2
  75. data/docs/LanguageEntityListing.md +2 -2
  76. data/docs/LibraryEntityListing.md +2 -2
  77. data/docs/LineBaseEntityListing.md +2 -2
  78. data/docs/LineEntityListing.md +2 -2
  79. data/docs/LocationEntityListing.md +2 -2
  80. data/docs/LocationSearchRequest.md +1 -0
  81. data/docs/LogicalInterfaceEntityListing.md +2 -2
  82. data/docs/NoteListing.md +2 -2
  83. data/docs/OAuthClientEntityListing.md +2 -2
  84. data/docs/OAuthProviderEntityListing.md +2 -2
  85. data/docs/OrganizationAuthorizationApi.md +1458 -0
  86. data/docs/OrganizationPresenceEntityListing.md +2 -2
  87. data/docs/OrganizationRoleEntityListing.md +2 -2
  88. data/docs/OrphanRecordingListing.md +2 -2
  89. data/docs/OutboundRouteBaseEntityListing.md +2 -2
  90. data/docs/OutboundRouteEntityListing.md +2 -2
  91. data/docs/Participant.md +1 -0
  92. data/docs/ParticipantBasic.md +1 -0
  93. data/docs/PermissionCollectionEntityListing.md +2 -2
  94. data/docs/PhoneBaseEntityListing.md +2 -2
  95. data/docs/PhoneEntityListing.md +2 -2
  96. data/docs/PhoneMetaBaseEntityListing.md +2 -2
  97. data/docs/PhysicalInterfaceEntityListing.md +2 -2
  98. data/docs/PolicyEntityListing.md +2 -2
  99. data/docs/PromptAssetEntityListing.md +2 -2
  100. data/docs/PromptEntityListing.md +2 -2
  101. data/docs/QualityAuditPage.md +2 -2
  102. data/docs/QueueEntityListing.md +2 -2
  103. data/docs/QueueMemberEntityListing.md +2 -2
  104. data/docs/RelationshipListing.md +2 -2
  105. data/docs/ReportMetaDataEntityListing.md +2 -2
  106. data/docs/ReportRunEntryEntityDomainListing.md +2 -2
  107. data/docs/ReportScheduleEntityListing.md +2 -2
  108. data/docs/ResponseEntityList.md +2 -2
  109. data/docs/ResponseEntityListing.md +2 -2
  110. data/docs/ResponseSetEntityListing.md +2 -2
  111. data/docs/RoutingApi.md +1 -1
  112. data/docs/RuleSetEntityListing.md +2 -2
  113. data/docs/Schedule.md +27 -0
  114. data/docs/ScheduleEntityListing.md +22 -0
  115. data/docs/ScheduleGroup.md +27 -0
  116. data/docs/ScheduleGroupEntityListing.md +22 -0
  117. data/docs/SchemaCategoryEntityListing.md +2 -2
  118. data/docs/SchemaReferenceEntityListing.md +2 -2
  119. data/docs/ScreenRecordingSession.md +1 -1
  120. data/docs/ScreenRecordingSessionListing.md +2 -2
  121. data/docs/ScriptEntityListing.md +2 -2
  122. data/docs/SearchRequest.md +1 -0
  123. data/docs/SearchSort.md +14 -0
  124. data/docs/SecurityProfileEntityListing.md +2 -2
  125. data/docs/SetUuiDataRequest.md +13 -0
  126. data/docs/ShareEntityListing.md +2 -2
  127. data/docs/SiteEntityListing.md +2 -2
  128. data/docs/SkillEntityListing.md +2 -2
  129. data/docs/SocialExpression.md +1 -0
  130. data/docs/StationEntityListing.md +2 -2
  131. data/docs/SystemPromptAssetEntityListing.md +2 -2
  132. data/docs/SystemPromptEntityListing.md +2 -2
  133. data/docs/TagValueEntityListing.md +2 -2
  134. data/docs/TimeZoneEntityListing.md +2 -2
  135. data/docs/TrunkBaseEntityListing.md +2 -2
  136. data/docs/TrunkEntityListing.md +2 -2
  137. data/docs/TrunkMetabaseEntityListing.md +2 -2
  138. data/docs/TrustCreate.md +15 -0
  139. data/docs/TrustEntityListing.md +22 -0
  140. data/docs/TrustRequest.md +18 -0
  141. data/docs/TrustRequestCreate.md +13 -0
  142. data/docs/TrustUser.md +36 -0
  143. data/docs/TrustUserCreate.md +14 -0
  144. data/docs/TrustUserDetails.md +14 -0
  145. data/docs/TrustUserEntityListing.md +22 -0
  146. data/docs/Trustee.md +18 -0
  147. data/docs/TrusteeAuditQueryRequest.md +19 -0
  148. data/docs/TrustorAuditQueryRequest.md +19 -0
  149. data/docs/TrustorEntityListing.md +22 -0
  150. data/docs/UserEntityListing.md +2 -2
  151. data/docs/UserMe.md +1 -0
  152. data/docs/UserQueueEntityListing.md +2 -2
  153. data/docs/UserRecordingEntityListing.md +2 -2
  154. data/docs/UserSearchRequest.md +1 -0
  155. data/docs/UserSkillEntityListing.md +2 -2
  156. data/docs/UsersApi.md +1 -1
  157. data/docs/VoicemailMessageEntityListing.md +2 -2
  158. data/docs/VoicemailSearchRequest.md +1 -0
  159. data/docs/WorkspaceEntityListing.md +2 -2
  160. data/docs/WorkspaceMemberEntityListing.md +2 -2
  161. data/docs/WrapupCodeEntityListing.md +2 -2
  162. data/lib/purecloudplatformclientv2.rb +25 -1
  163. data/lib/purecloudplatformclientv2/api/architect_api.rb +1216 -148
  164. data/lib/purecloudplatformclientv2/api/authorization_api.rb +9 -0
  165. data/lib/purecloudplatformclientv2/api/conversations_api.rb +97 -2
  166. data/lib/purecloudplatformclientv2/api/external_contacts_api.rb +2 -2
  167. data/lib/purecloudplatformclientv2/api/organization_authorization_api.rb +1751 -0
  168. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  169. data/lib/purecloudplatformclientv2/models/agent_activity_entity_listing.rb +25 -25
  170. data/lib/purecloudplatformclientv2/models/attempt_limits_entity_listing.rb +25 -25
  171. data/lib/purecloudplatformclientv2/models/attribute_entity_listing.rb +25 -25
  172. data/lib/purecloudplatformclientv2/models/audit_query_response.rb +176 -0
  173. data/lib/purecloudplatformclientv2/models/calibration_entity_listing.rb +25 -25
  174. data/lib/purecloudplatformclientv2/models/call.rb +30 -4
  175. data/lib/purecloudplatformclientv2/models/call_basic.rb +30 -4
  176. data/lib/purecloudplatformclientv2/models/call_conversation_entity_listing.rb +25 -25
  177. data/lib/purecloudplatformclientv2/models/callable_time_set_entity_listing.rb +25 -25
  178. data/lib/purecloudplatformclientv2/models/callback_conversation_entity_listing.rb +25 -25
  179. data/lib/purecloudplatformclientv2/models/campaign.rb +15 -1
  180. data/lib/purecloudplatformclientv2/models/campaign_entity_listing.rb +25 -25
  181. data/lib/purecloudplatformclientv2/models/campaign_rule_entity_listing.rb +25 -25
  182. data/lib/purecloudplatformclientv2/models/campaign_sequence_entity_listing.rb +25 -25
  183. data/lib/purecloudplatformclientv2/models/certificate_authority_entity_listing.rb +25 -25
  184. data/lib/purecloudplatformclientv2/models/chat_conversation_entity_listing.rb +25 -25
  185. data/lib/purecloudplatformclientv2/models/cobrowse_conversation_entity_listing.rb +25 -25
  186. data/lib/purecloudplatformclientv2/models/command_status_entity_listing.rb +25 -25
  187. data/lib/purecloudplatformclientv2/models/consumed_resources_entity_listing.rb +25 -25
  188. data/lib/purecloudplatformclientv2/models/consuming_resources_entity_listing.rb +25 -25
  189. data/lib/purecloudplatformclientv2/models/contact_list_entity_listing.rb +25 -25
  190. data/lib/purecloudplatformclientv2/models/contact_list_filter_entity_listing.rb +25 -25
  191. data/lib/purecloudplatformclientv2/models/contact_listing.rb +25 -25
  192. data/lib/purecloudplatformclientv2/models/conversation_chat.rb +27 -1
  193. data/lib/purecloudplatformclientv2/models/conversation_entity_listing.rb +25 -25
  194. data/lib/purecloudplatformclientv2/models/create_callback_on_conversation_command.rb +393 -0
  195. data/lib/purecloudplatformclientv2/models/dependency_object_entity_listing.rb +25 -25
  196. data/lib/purecloudplatformclientv2/models/dependency_type_entity_listing.rb +25 -25
  197. data/lib/purecloudplatformclientv2/models/dialer_event_entity_listing.rb +25 -25
  198. data/lib/purecloudplatformclientv2/models/did_entity_listing.rb +25 -25
  199. data/lib/purecloudplatformclientv2/models/did_pool_entity_listing.rb +25 -25
  200. data/lib/purecloudplatformclientv2/models/dnc_list_entity_listing.rb +25 -25
  201. data/lib/purecloudplatformclientv2/models/document_audit_entity_listing.rb +25 -25
  202. data/lib/purecloudplatformclientv2/models/document_entity_listing.rb +25 -25
  203. data/lib/purecloudplatformclientv2/models/documentation_search_request.rb +29 -1
  204. data/lib/purecloudplatformclientv2/models/domain_edge_software_version_dto_entity_listing.rb +25 -25
  205. data/lib/purecloudplatformclientv2/models/domain_entity_listing.rb +25 -25
  206. data/lib/purecloudplatformclientv2/models/domain_entity_listing_evaluation_form.rb +25 -25
  207. data/lib/purecloudplatformclientv2/models/domain_entity_listing_query_result.rb +25 -25
  208. data/lib/purecloudplatformclientv2/models/edge_entity_listing.rb +25 -25
  209. data/lib/purecloudplatformclientv2/models/edge_group_entity_listing.rb +25 -25
  210. data/lib/purecloudplatformclientv2/models/edge_line_entity_listing.rb +25 -25
  211. data/lib/purecloudplatformclientv2/models/email.rb +56 -4
  212. data/lib/purecloudplatformclientv2/models/email_conversation_entity_listing.rb +25 -25
  213. data/lib/purecloudplatformclientv2/models/email_message_listing.rb +25 -25
  214. data/lib/purecloudplatformclientv2/models/encryption_key_entity_listing.rb +25 -25
  215. data/lib/purecloudplatformclientv2/models/endpoint_entity_listing.rb +25 -25
  216. data/lib/purecloudplatformclientv2/models/evaluation_entity_listing.rb +25 -25
  217. data/lib/purecloudplatformclientv2/models/evaluation_form_entity_listing.rb +25 -25
  218. data/lib/purecloudplatformclientv2/models/evaluator_activity_entity_listing.rb +25 -25
  219. data/lib/purecloudplatformclientv2/models/extension_entity_listing.rb +25 -25
  220. data/lib/purecloudplatformclientv2/models/extension_pool_entity_listing.rb +25 -25
  221. data/lib/purecloudplatformclientv2/models/external_organization_listing.rb +25 -25
  222. data/lib/purecloudplatformclientv2/models/facet.rb +238 -0
  223. data/lib/purecloudplatformclientv2/models/fax_document_entity_listing.rb +25 -25
  224. data/lib/purecloudplatformclientv2/models/filter.rb +302 -0
  225. data/lib/purecloudplatformclientv2/models/flow_entity_listing.rb +25 -25
  226. data/lib/purecloudplatformclientv2/models/flow_version_entity_listing.rb +25 -25
  227. data/lib/purecloudplatformclientv2/models/greeting_listing.rb +25 -25
  228. data/lib/purecloudplatformclientv2/models/group_entity_listing.rb +25 -25
  229. data/lib/purecloudplatformclientv2/models/group_search_request.rb +29 -1
  230. data/lib/purecloudplatformclientv2/models/history_listing.rb +197 -38
  231. data/lib/purecloudplatformclientv2/models/inbound_domain_entity_listing.rb +25 -25
  232. data/lib/purecloudplatformclientv2/models/inbound_route_entity_listing.rb +25 -25
  233. data/lib/purecloudplatformclientv2/models/interaction_stats_alert_container.rb +25 -25
  234. data/lib/purecloudplatformclientv2/models/interaction_stats_rule_container.rb +25 -25
  235. data/lib/purecloudplatformclientv2/models/ivr.rb +607 -0
  236. data/lib/purecloudplatformclientv2/models/ivr_entity_listing.rb +428 -0
  237. data/lib/purecloudplatformclientv2/models/keyword_set_entity_listing.rb +25 -25
  238. data/lib/purecloudplatformclientv2/models/language_entity_listing.rb +25 -25
  239. data/lib/purecloudplatformclientv2/models/library_entity_listing.rb +25 -25
  240. data/lib/purecloudplatformclientv2/models/line_base_entity_listing.rb +25 -25
  241. data/lib/purecloudplatformclientv2/models/line_entity_listing.rb +25 -25
  242. data/lib/purecloudplatformclientv2/models/location_entity_listing.rb +25 -25
  243. data/lib/purecloudplatformclientv2/models/location_search_request.rb +29 -1
  244. data/lib/purecloudplatformclientv2/models/logical_interface_entity_listing.rb +25 -25
  245. data/lib/purecloudplatformclientv2/models/note_listing.rb +25 -25
  246. data/lib/purecloudplatformclientv2/models/o_auth_client_entity_listing.rb +25 -25
  247. data/lib/purecloudplatformclientv2/models/o_auth_provider_entity_listing.rb +25 -25
  248. data/lib/purecloudplatformclientv2/models/organization_presence_entity_listing.rb +25 -25
  249. data/lib/purecloudplatformclientv2/models/organization_role_entity_listing.rb +25 -25
  250. data/lib/purecloudplatformclientv2/models/orphan_recording_listing.rb +25 -25
  251. data/lib/purecloudplatformclientv2/models/outbound_route_base_entity_listing.rb +25 -25
  252. data/lib/purecloudplatformclientv2/models/outbound_route_entity_listing.rb +25 -25
  253. data/lib/purecloudplatformclientv2/models/participant.rb +44 -4
  254. data/lib/purecloudplatformclientv2/models/participant_basic.rb +44 -4
  255. data/lib/purecloudplatformclientv2/models/permission_collection_entity_listing.rb +25 -25
  256. data/lib/purecloudplatformclientv2/models/phone_base_entity_listing.rb +25 -25
  257. data/lib/purecloudplatformclientv2/models/phone_entity_listing.rb +25 -25
  258. data/lib/purecloudplatformclientv2/models/phone_meta_base_entity_listing.rb +25 -25
  259. data/lib/purecloudplatformclientv2/models/physical_interface_entity_listing.rb +25 -25
  260. data/lib/purecloudplatformclientv2/models/policy_entity_listing.rb +25 -25
  261. data/lib/purecloudplatformclientv2/models/prompt_asset_entity_listing.rb +25 -25
  262. data/lib/purecloudplatformclientv2/models/prompt_entity_listing.rb +25 -25
  263. data/lib/purecloudplatformclientv2/models/quality_audit_page.rb +25 -25
  264. data/lib/purecloudplatformclientv2/models/queue_entity_listing.rb +25 -25
  265. data/lib/purecloudplatformclientv2/models/queue_member_entity_listing.rb +25 -25
  266. data/lib/purecloudplatformclientv2/models/reaction.rb +2 -2
  267. data/lib/purecloudplatformclientv2/models/relationship_listing.rb +25 -25
  268. data/lib/purecloudplatformclientv2/models/report_meta_data_entity_listing.rb +25 -25
  269. data/lib/purecloudplatformclientv2/models/report_run_entry_entity_domain_listing.rb +25 -25
  270. data/lib/purecloudplatformclientv2/models/report_schedule_entity_listing.rb +25 -25
  271. data/lib/purecloudplatformclientv2/models/response_entity_list.rb +25 -25
  272. data/lib/purecloudplatformclientv2/models/response_entity_listing.rb +25 -25
  273. data/lib/purecloudplatformclientv2/models/response_set_entity_listing.rb +25 -25
  274. data/lib/purecloudplatformclientv2/models/rule_set_entity_listing.rb +25 -25
  275. data/lib/purecloudplatformclientv2/models/schedule.rb +578 -0
  276. data/lib/purecloudplatformclientv2/models/schedule_entity_listing.rb +428 -0
  277. data/lib/purecloudplatformclientv2/models/schedule_group.rb +577 -0
  278. data/lib/purecloudplatformclientv2/models/schedule_group_entity_listing.rb +428 -0
  279. data/lib/purecloudplatformclientv2/models/schema_category_entity_listing.rb +25 -25
  280. data/lib/purecloudplatformclientv2/models/schema_reference_entity_listing.rb +25 -25
  281. data/lib/purecloudplatformclientv2/models/screen_recording_session.rb +8 -8
  282. data/lib/purecloudplatformclientv2/models/screen_recording_session_listing.rb +25 -25
  283. data/lib/purecloudplatformclientv2/models/script_entity_listing.rb +25 -25
  284. data/lib/purecloudplatformclientv2/models/search_request.rb +29 -1
  285. data/lib/purecloudplatformclientv2/models/search_sort.rb +242 -0
  286. data/lib/purecloudplatformclientv2/models/security_profile_entity_listing.rb +25 -25
  287. data/lib/purecloudplatformclientv2/models/set_uui_data_request.rb +202 -0
  288. data/lib/purecloudplatformclientv2/models/share_entity_listing.rb +25 -25
  289. data/lib/purecloudplatformclientv2/models/site_entity_listing.rb +25 -25
  290. data/lib/purecloudplatformclientv2/models/skill_entity_listing.rb +25 -25
  291. data/lib/purecloudplatformclientv2/models/social_expression.rb +27 -1
  292. data/lib/purecloudplatformclientv2/models/station_entity_listing.rb +25 -25
  293. data/lib/purecloudplatformclientv2/models/system_prompt_asset_entity_listing.rb +25 -25
  294. data/lib/purecloudplatformclientv2/models/system_prompt_entity_listing.rb +25 -25
  295. data/lib/purecloudplatformclientv2/models/tag_value_entity_listing.rb +25 -25
  296. data/lib/purecloudplatformclientv2/models/time_zone_entity_listing.rb +25 -25
  297. data/lib/purecloudplatformclientv2/models/trunk_base_entity_listing.rb +25 -25
  298. data/lib/purecloudplatformclientv2/models/trunk_entity_listing.rb +25 -25
  299. data/lib/purecloudplatformclientv2/models/trunk_metabase_entity_listing.rb +25 -25
  300. data/lib/purecloudplatformclientv2/models/trust_create.rb +271 -0
  301. data/lib/purecloudplatformclientv2/models/trust_entity_listing.rb +428 -0
  302. data/lib/purecloudplatformclientv2/models/trust_request.rb +344 -0
  303. data/lib/purecloudplatformclientv2/models/trust_request_create.rb +209 -0
  304. data/lib/purecloudplatformclientv2/models/trust_user.rb +822 -0
  305. data/lib/purecloudplatformclientv2/models/trust_user_create.rb +240 -0
  306. data/lib/purecloudplatformclientv2/models/trust_user_details.rb +228 -0
  307. data/lib/purecloudplatformclientv2/models/trust_user_entity_listing.rb +428 -0
  308. data/lib/purecloudplatformclientv2/models/{history_entry.rb → trustee.rb} +66 -46
  309. data/lib/purecloudplatformclientv2/models/trustee_audit_query_request.rb +376 -0
  310. data/lib/purecloudplatformclientv2/models/trustor_audit_query_request.rb +374 -0
  311. data/lib/purecloudplatformclientv2/models/trustor_entity_listing.rb +428 -0
  312. data/lib/purecloudplatformclientv2/models/user_entity_listing.rb +25 -25
  313. data/lib/purecloudplatformclientv2/models/user_me.rb +29 -1
  314. data/lib/purecloudplatformclientv2/models/user_queue_entity_listing.rb +25 -25
  315. data/lib/purecloudplatformclientv2/models/user_recording_entity_listing.rb +25 -25
  316. data/lib/purecloudplatformclientv2/models/user_search_request.rb +29 -1
  317. data/lib/purecloudplatformclientv2/models/user_skill_entity_listing.rb +25 -25
  318. data/lib/purecloudplatformclientv2/models/voicemail_message_entity_listing.rb +25 -25
  319. data/lib/purecloudplatformclientv2/models/voicemail_search_request.rb +29 -1
  320. data/lib/purecloudplatformclientv2/models/workspace_entity_listing.rb +25 -25
  321. data/lib/purecloudplatformclientv2/models/workspace_member_entity_listing.rb +25 -25
  322. data/lib/purecloudplatformclientv2/models/wrapup_code_entity_listing.rb +25 -25
  323. data/lib/purecloudplatformclientv2/version.rb +1 -1
  324. metadata +52 -4
  325. data/docs/HistoryEntry.md +0 -17
@@ -0,0 +1,428 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class ScheduleEntityListing
21
+ attr_accessor :entities
22
+
23
+ attr_accessor :page_size
24
+
25
+ attr_accessor :page_number
26
+
27
+ attr_accessor :total
28
+
29
+ attr_accessor :self_uri
30
+
31
+ attr_accessor :first_uri
32
+
33
+ attr_accessor :previous_uri
34
+
35
+ attr_accessor :next_uri
36
+
37
+ attr_accessor :last_uri
38
+
39
+ attr_accessor :page_count
40
+
41
+ # Attribute mapping from ruby-style variable name to JSON key.
42
+ def self.attribute_map
43
+ {
44
+
45
+ :'entities' => :'entities',
46
+
47
+ :'page_size' => :'pageSize',
48
+
49
+ :'page_number' => :'pageNumber',
50
+
51
+ :'total' => :'total',
52
+
53
+ :'self_uri' => :'selfUri',
54
+
55
+ :'first_uri' => :'firstUri',
56
+
57
+ :'previous_uri' => :'previousUri',
58
+
59
+ :'next_uri' => :'nextUri',
60
+
61
+ :'last_uri' => :'lastUri',
62
+
63
+ :'page_count' => :'pageCount'
64
+
65
+ }
66
+ end
67
+
68
+ # Attribute type mapping.
69
+ def self.swagger_types
70
+ {
71
+
72
+ :'entities' => :'Array<Schedule>',
73
+
74
+ :'page_size' => :'Integer',
75
+
76
+ :'page_number' => :'Integer',
77
+
78
+ :'total' => :'Integer',
79
+
80
+ :'self_uri' => :'String',
81
+
82
+ :'first_uri' => :'String',
83
+
84
+ :'previous_uri' => :'String',
85
+
86
+ :'next_uri' => :'String',
87
+
88
+ :'last_uri' => :'String',
89
+
90
+ :'page_count' => :'Integer'
91
+
92
+ }
93
+ end
94
+
95
+ # Initializes the object
96
+ # @param [Hash] attributes Model attributes in the form of hash
97
+ def initialize(attributes = {})
98
+ return unless attributes.is_a?(Hash)
99
+
100
+ # convert string to symbol for hash key
101
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
102
+
103
+
104
+ if attributes.has_key?(:'entities')
105
+
106
+ if (value = attributes[:'entities']).is_a?(Array)
107
+ self.entities = value
108
+ end
109
+
110
+
111
+
112
+ end
113
+
114
+
115
+ if attributes.has_key?(:'pageSize')
116
+
117
+
118
+ self.page_size = attributes[:'pageSize']
119
+
120
+
121
+ end
122
+
123
+
124
+ if attributes.has_key?(:'pageNumber')
125
+
126
+
127
+ self.page_number = attributes[:'pageNumber']
128
+
129
+
130
+ end
131
+
132
+
133
+ if attributes.has_key?(:'total')
134
+
135
+
136
+ self.total = attributes[:'total']
137
+
138
+
139
+ end
140
+
141
+
142
+ if attributes.has_key?(:'selfUri')
143
+
144
+
145
+ self.self_uri = attributes[:'selfUri']
146
+
147
+
148
+ end
149
+
150
+
151
+ if attributes.has_key?(:'firstUri')
152
+
153
+
154
+ self.first_uri = attributes[:'firstUri']
155
+
156
+
157
+ end
158
+
159
+
160
+ if attributes.has_key?(:'previousUri')
161
+
162
+
163
+ self.previous_uri = attributes[:'previousUri']
164
+
165
+
166
+ end
167
+
168
+
169
+ if attributes.has_key?(:'nextUri')
170
+
171
+
172
+ self.next_uri = attributes[:'nextUri']
173
+
174
+
175
+ end
176
+
177
+
178
+ if attributes.has_key?(:'lastUri')
179
+
180
+
181
+ self.last_uri = attributes[:'lastUri']
182
+
183
+
184
+ end
185
+
186
+
187
+ if attributes.has_key?(:'pageCount')
188
+
189
+
190
+ self.page_count = attributes[:'pageCount']
191
+
192
+
193
+ end
194
+
195
+
196
+ end
197
+
198
+ # Show invalid properties with the reasons. Usually used together with valid?
199
+ # @return Array for valid properies with the reasons
200
+ def list_invalid_properties
201
+ invalid_properties = Array.new
202
+
203
+
204
+ return invalid_properties
205
+ end
206
+
207
+ # Check to see if the all the properties in the model are valid
208
+ # @return true if the model is valid
209
+ def valid?
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+ end
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+ # Checks equality by comparing each attribute.
305
+ # @param [Object] Object to be compared
306
+ def ==(o)
307
+ return true if self.equal?(o)
308
+ self.class == o.class &&
309
+ entities == o.entities &&
310
+ page_size == o.page_size &&
311
+ page_number == o.page_number &&
312
+ total == o.total &&
313
+ self_uri == o.self_uri &&
314
+ first_uri == o.first_uri &&
315
+ previous_uri == o.previous_uri &&
316
+ next_uri == o.next_uri &&
317
+ last_uri == o.last_uri &&
318
+ page_count == o.page_count
319
+ end
320
+
321
+ # @see the `==` method
322
+ # @param [Object] Object to be compared
323
+ def eql?(o)
324
+ self == o
325
+ end
326
+
327
+ # Calculates hash code according to all attributes.
328
+ # @return [Fixnum] Hash code
329
+ def hash
330
+ [entities, page_size, page_number, total, self_uri, first_uri, previous_uri, next_uri, last_uri, page_count].hash
331
+ end
332
+
333
+ # build the object from hash
334
+ def build_from_hash(attributes)
335
+ return nil unless attributes.is_a?(Hash)
336
+ self.class.swagger_types.each_pair do |key, type|
337
+ if type =~ /^Array<(.*)>/i
338
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
339
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
340
+ else
341
+ #TODO show warning in debug mode
342
+ end
343
+ elsif !attributes[self.class.attribute_map[key]].nil?
344
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
345
+ else
346
+ # data not found in attributes(hash), not an issue as the data can be optional
347
+ end
348
+ end
349
+
350
+ self
351
+ end
352
+
353
+ def _deserialize(type, value)
354
+ case type.to_sym
355
+ when :DateTime
356
+ DateTime.parse(value)
357
+ when :Date
358
+ Date.parse(value)
359
+ when :String
360
+ value.to_s
361
+ when :Integer
362
+ value.to_i
363
+ when :Float
364
+ value.to_f
365
+ when :BOOLEAN
366
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
367
+ true
368
+ else
369
+ false
370
+ end
371
+ when :Object
372
+ # generic object (usually a Hash), return directly
373
+ value
374
+ when /\AArray<(?<inner_type>.+)>\z/
375
+ inner_type = Regexp.last_match[:inner_type]
376
+ value.map { |v| _deserialize(inner_type, v) }
377
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
378
+ k_type = Regexp.last_match[:k_type]
379
+ v_type = Regexp.last_match[:v_type]
380
+ {}.tap do |hash|
381
+ value.each do |k, v|
382
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
383
+ end
384
+ end
385
+ else # model
386
+ _model = Object.const_get("PureCloud").const_get(type).new
387
+ _model.build_from_hash(value)
388
+ end
389
+ end
390
+
391
+ def to_s
392
+ to_hash.to_s
393
+ end
394
+
395
+ # to_body is an alias to to_body (backward compatibility))
396
+ def to_body
397
+ to_hash
398
+ end
399
+
400
+ # return the object in the form of hash
401
+ def to_hash
402
+ hash = {}
403
+ self.class.attribute_map.each_pair do |attr, param|
404
+ value = self.send(attr)
405
+ next if value.nil?
406
+ hash[param] = _to_hash(value)
407
+ end
408
+ hash
409
+ end
410
+
411
+ # Method to output non-array value in the form of hash
412
+ # For object, use to_hash. Otherwise, just return the value
413
+ def _to_hash(value)
414
+ if value.is_a?(Array)
415
+ value.compact.map{ |v| _to_hash(v) }
416
+ elsif value.is_a?(Hash)
417
+ {}.tap do |hash|
418
+ value.each { |k, v| hash[k] = _to_hash(v) }
419
+ end
420
+ elsif value.respond_to? :to_hash
421
+ value.to_hash
422
+ else
423
+ value
424
+ end
425
+ end
426
+
427
+ end
428
+ end
@@ -0,0 +1,577 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ # A group of schedules that define the operating hours of an organization.
21
+ class ScheduleGroup
22
+ # The globally unique identifier for the object.
23
+ attr_accessor :id
24
+
25
+ attr_accessor :name
26
+
27
+ attr_accessor :description
28
+
29
+ attr_accessor :version
30
+
31
+ # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
32
+ attr_accessor :date_created
33
+
34
+ # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
35
+ attr_accessor :date_modified
36
+
37
+ attr_accessor :modified_by
38
+
39
+ attr_accessor :created_by
40
+
41
+ attr_accessor :state
42
+
43
+ attr_accessor :modified_by_app
44
+
45
+ attr_accessor :created_by_app
46
+
47
+ # The timezone the schedules are a part of. This is not a schedule property to allow a schedule to be used in multiple timezones.
48
+ attr_accessor :time_zone
49
+
50
+ # The schedules defining the hours an organization is open.
51
+ attr_accessor :open_schedules
52
+
53
+ # The schedules defining the hours an organization is closed.
54
+ attr_accessor :closed_schedules
55
+
56
+ # The URI for this object
57
+ attr_accessor :self_uri
58
+
59
+ # Attribute mapping from ruby-style variable name to JSON key.
60
+ def self.attribute_map
61
+ {
62
+
63
+ :'id' => :'id',
64
+
65
+ :'name' => :'name',
66
+
67
+ :'description' => :'description',
68
+
69
+ :'version' => :'version',
70
+
71
+ :'date_created' => :'dateCreated',
72
+
73
+ :'date_modified' => :'dateModified',
74
+
75
+ :'modified_by' => :'modifiedBy',
76
+
77
+ :'created_by' => :'createdBy',
78
+
79
+ :'state' => :'state',
80
+
81
+ :'modified_by_app' => :'modifiedByApp',
82
+
83
+ :'created_by_app' => :'createdByApp',
84
+
85
+ :'time_zone' => :'timeZone',
86
+
87
+ :'open_schedules' => :'openSchedules',
88
+
89
+ :'closed_schedules' => :'closedSchedules',
90
+
91
+ :'self_uri' => :'selfUri'
92
+
93
+ }
94
+ end
95
+
96
+ # Attribute type mapping.
97
+ def self.swagger_types
98
+ {
99
+
100
+ :'id' => :'String',
101
+
102
+ :'name' => :'String',
103
+
104
+ :'description' => :'String',
105
+
106
+ :'version' => :'Integer',
107
+
108
+ :'date_created' => :'DateTime',
109
+
110
+ :'date_modified' => :'DateTime',
111
+
112
+ :'modified_by' => :'String',
113
+
114
+ :'created_by' => :'String',
115
+
116
+ :'state' => :'String',
117
+
118
+ :'modified_by_app' => :'String',
119
+
120
+ :'created_by_app' => :'String',
121
+
122
+ :'time_zone' => :'String',
123
+
124
+ :'open_schedules' => :'Array<UriReference>',
125
+
126
+ :'closed_schedules' => :'Array<UriReference>',
127
+
128
+ :'self_uri' => :'String'
129
+
130
+ }
131
+ end
132
+
133
+ # Initializes the object
134
+ # @param [Hash] attributes Model attributes in the form of hash
135
+ def initialize(attributes = {})
136
+ return unless attributes.is_a?(Hash)
137
+
138
+ # convert string to symbol for hash key
139
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
140
+
141
+
142
+ if attributes.has_key?(:'id')
143
+
144
+
145
+ self.id = attributes[:'id']
146
+
147
+
148
+ end
149
+
150
+
151
+ if attributes.has_key?(:'name')
152
+
153
+
154
+ self.name = attributes[:'name']
155
+
156
+
157
+ end
158
+
159
+
160
+ if attributes.has_key?(:'description')
161
+
162
+
163
+ self.description = attributes[:'description']
164
+
165
+
166
+ end
167
+
168
+
169
+ if attributes.has_key?(:'version')
170
+
171
+
172
+ self.version = attributes[:'version']
173
+
174
+
175
+ end
176
+
177
+
178
+ if attributes.has_key?(:'dateCreated')
179
+
180
+
181
+ self.date_created = attributes[:'dateCreated']
182
+
183
+
184
+ end
185
+
186
+
187
+ if attributes.has_key?(:'dateModified')
188
+
189
+
190
+ self.date_modified = attributes[:'dateModified']
191
+
192
+
193
+ end
194
+
195
+
196
+ if attributes.has_key?(:'modifiedBy')
197
+
198
+
199
+ self.modified_by = attributes[:'modifiedBy']
200
+
201
+
202
+ end
203
+
204
+
205
+ if attributes.has_key?(:'createdBy')
206
+
207
+
208
+ self.created_by = attributes[:'createdBy']
209
+
210
+
211
+ end
212
+
213
+
214
+ if attributes.has_key?(:'state')
215
+
216
+
217
+ self.state = attributes[:'state']
218
+
219
+
220
+ end
221
+
222
+
223
+ if attributes.has_key?(:'modifiedByApp')
224
+
225
+
226
+ self.modified_by_app = attributes[:'modifiedByApp']
227
+
228
+
229
+ end
230
+
231
+
232
+ if attributes.has_key?(:'createdByApp')
233
+
234
+
235
+ self.created_by_app = attributes[:'createdByApp']
236
+
237
+
238
+ end
239
+
240
+
241
+ if attributes.has_key?(:'timeZone')
242
+
243
+
244
+ self.time_zone = attributes[:'timeZone']
245
+
246
+
247
+ end
248
+
249
+
250
+ if attributes.has_key?(:'openSchedules')
251
+
252
+ if (value = attributes[:'openSchedules']).is_a?(Array)
253
+ self.open_schedules = value
254
+ end
255
+
256
+
257
+
258
+ end
259
+
260
+
261
+ if attributes.has_key?(:'closedSchedules')
262
+
263
+ if (value = attributes[:'closedSchedules']).is_a?(Array)
264
+ self.closed_schedules = value
265
+ end
266
+
267
+
268
+
269
+ end
270
+
271
+
272
+ if attributes.has_key?(:'selfUri')
273
+
274
+
275
+ self.self_uri = attributes[:'selfUri']
276
+
277
+
278
+ end
279
+
280
+
281
+ end
282
+
283
+ # Show invalid properties with the reasons. Usually used together with valid?
284
+ # @return Array for valid properies with the reasons
285
+ def list_invalid_properties
286
+ invalid_properties = Array.new
287
+
288
+
289
+ return invalid_properties
290
+ end
291
+
292
+ # Check to see if the all the properties in the model are valid
293
+ # @return true if the model is valid
294
+ def valid?
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+ allowed_values = ["active", "inactive", "deleted"]
331
+ if @state && !allowed_values.include?(@state)
332
+ return false
333
+ end
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+ end
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+
372
+
373
+
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+
396
+
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+ # Custom attribute writer method checking allowed values (enum).
406
+ # @param [Object] state Object to be assigned
407
+ def state=(state)
408
+ allowed_values = ["active", "inactive", "deleted"]
409
+ if state && !allowed_values.include?(state)
410
+ fail ArgumentError, "invalid value for 'state', must be one of #{allowed_values}."
411
+ end
412
+ @state = state
413
+ end
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+ # Checks equality by comparing each attribute.
449
+ # @param [Object] Object to be compared
450
+ def ==(o)
451
+ return true if self.equal?(o)
452
+ self.class == o.class &&
453
+ id == o.id &&
454
+ name == o.name &&
455
+ description == o.description &&
456
+ version == o.version &&
457
+ date_created == o.date_created &&
458
+ date_modified == o.date_modified &&
459
+ modified_by == o.modified_by &&
460
+ created_by == o.created_by &&
461
+ state == o.state &&
462
+ modified_by_app == o.modified_by_app &&
463
+ created_by_app == o.created_by_app &&
464
+ time_zone == o.time_zone &&
465
+ open_schedules == o.open_schedules &&
466
+ closed_schedules == o.closed_schedules &&
467
+ self_uri == o.self_uri
468
+ end
469
+
470
+ # @see the `==` method
471
+ # @param [Object] Object to be compared
472
+ def eql?(o)
473
+ self == o
474
+ end
475
+
476
+ # Calculates hash code according to all attributes.
477
+ # @return [Fixnum] Hash code
478
+ def hash
479
+ [id, name, description, version, date_created, date_modified, modified_by, created_by, state, modified_by_app, created_by_app, time_zone, open_schedules, closed_schedules, self_uri].hash
480
+ end
481
+
482
+ # build the object from hash
483
+ def build_from_hash(attributes)
484
+ return nil unless attributes.is_a?(Hash)
485
+ self.class.swagger_types.each_pair do |key, type|
486
+ if type =~ /^Array<(.*)>/i
487
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
488
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
489
+ else
490
+ #TODO show warning in debug mode
491
+ end
492
+ elsif !attributes[self.class.attribute_map[key]].nil?
493
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
494
+ else
495
+ # data not found in attributes(hash), not an issue as the data can be optional
496
+ end
497
+ end
498
+
499
+ self
500
+ end
501
+
502
+ def _deserialize(type, value)
503
+ case type.to_sym
504
+ when :DateTime
505
+ DateTime.parse(value)
506
+ when :Date
507
+ Date.parse(value)
508
+ when :String
509
+ value.to_s
510
+ when :Integer
511
+ value.to_i
512
+ when :Float
513
+ value.to_f
514
+ when :BOOLEAN
515
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
516
+ true
517
+ else
518
+ false
519
+ end
520
+ when :Object
521
+ # generic object (usually a Hash), return directly
522
+ value
523
+ when /\AArray<(?<inner_type>.+)>\z/
524
+ inner_type = Regexp.last_match[:inner_type]
525
+ value.map { |v| _deserialize(inner_type, v) }
526
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
527
+ k_type = Regexp.last_match[:k_type]
528
+ v_type = Regexp.last_match[:v_type]
529
+ {}.tap do |hash|
530
+ value.each do |k, v|
531
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
532
+ end
533
+ end
534
+ else # model
535
+ _model = Object.const_get("PureCloud").const_get(type).new
536
+ _model.build_from_hash(value)
537
+ end
538
+ end
539
+
540
+ def to_s
541
+ to_hash.to_s
542
+ end
543
+
544
+ # to_body is an alias to to_body (backward compatibility))
545
+ def to_body
546
+ to_hash
547
+ end
548
+
549
+ # return the object in the form of hash
550
+ def to_hash
551
+ hash = {}
552
+ self.class.attribute_map.each_pair do |attr, param|
553
+ value = self.send(attr)
554
+ next if value.nil?
555
+ hash[param] = _to_hash(value)
556
+ end
557
+ hash
558
+ end
559
+
560
+ # Method to output non-array value in the form of hash
561
+ # For object, use to_hash. Otherwise, just return the value
562
+ def _to_hash(value)
563
+ if value.is_a?(Array)
564
+ value.compact.map{ |v| _to_hash(v) }
565
+ elsif value.is_a?(Hash)
566
+ {}.tap do |hash|
567
+ value.each { |k, v| hash[k] = _to_hash(v) }
568
+ end
569
+ elsif value.respond_to? :to_hash
570
+ value.to_hash
571
+ else
572
+ value
573
+ end
574
+ end
575
+
576
+ end
577
+ end