freeclimb 4.9.0 → 5.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 (438) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/Gemfile.lock +34 -18
  4. data/README.md +43 -51
  5. data/docs/AddToConferenceNotificationWebhook.md +42 -0
  6. data/docs/AddToQueueNotificationWebhook.md +34 -0
  7. data/docs/BargeInReason.md +18 -0
  8. data/docs/CallControlWebhook.md +26 -0
  9. data/docs/CallEndedReason.md +38 -0
  10. data/docs/CallStatusWebhook.md +36 -0
  11. data/docs/CompletionResult.md +1 -1
  12. data/docs/CompletionResultStatus.md +17 -0
  13. data/docs/ConferenceRecordingStatusWebhook.md +42 -0
  14. data/docs/ConferenceResult.md +1 -1
  15. data/docs/ConferenceStatusWebhook.md +42 -0
  16. data/docs/CreateConference.md +1 -1
  17. data/docs/CreateConferenceRequest.md +1 -1
  18. data/docs/CreateConferenceWebhook.md +42 -0
  19. data/docs/DequeueWebhook.md +38 -0
  20. data/docs/GetDigitsReason.md +19 -0
  21. data/docs/GetDigitsWebhook.md +40 -0
  22. data/docs/GetSpeechWebhook.md +50 -0
  23. data/docs/InboundCallWebhook.md +36 -0
  24. data/docs/LeaveConferenceWebhook.md +34 -0
  25. data/docs/MachineDetectedWebhook.md +38 -0
  26. data/docs/MachineType.md +2 -2
  27. data/docs/MessageDeliveryWebhook.md +36 -0
  28. data/docs/MessageStatusWebhook.md +38 -0
  29. data/docs/OutDialApiConnectWebhook.md +36 -0
  30. data/docs/OutDialConnectWebhook.md +36 -0
  31. data/docs/OutDialStartWebhook.md +38 -0
  32. data/docs/QueueWaitWebhook.md +40 -0
  33. data/docs/RecordWebhook.md +50 -0
  34. data/docs/RedirectWebhook.md +36 -0
  35. data/docs/RemoveFromQueueNotificationWebhook.md +38 -0
  36. data/docs/SMSTenDLCBrand.md +6 -6
  37. data/docs/SMSTenDLCBrandAltBusinessIdType.md +19 -0
  38. data/docs/SMSTenDLCBrandEntityType.md +20 -0
  39. data/docs/SMSTenDLCBrandIdentityStatus.md +19 -0
  40. data/docs/SMSTenDLCBrandRelationship.md +20 -0
  41. data/docs/SMSTenDLCBrandStockExchange.md +42 -0
  42. data/docs/SMSTenDLCCampaign.md +1 -1
  43. data/docs/SMSTenDLCCampaignStatus.md +17 -0
  44. data/docs/SMSTenDLCPartnerCampaign.md +1 -1
  45. data/docs/SMSTenDLCPartnerCampaignStatus.md +17 -0
  46. data/docs/SMSTollFreeCampaign.md +1 -1
  47. data/docs/SMSTollFreeCampaignRegistrationStatus.md +20 -0
  48. data/docs/TranscribeReason.md +20 -0
  49. data/docs/TranscribeTermReason.md +17 -0
  50. data/docs/TranscribeUtterance.md +2 -2
  51. data/docs/TranscribeWebhook.md +62 -0
  52. data/docs/UpdateConferenceRequest.md +1 -1
  53. data/docs/Webhook.md +18 -0
  54. data/freeclimb.gemspec +1 -1
  55. data/lib/freeclimb/api/default_api.rb +18 -18
  56. data/lib/freeclimb/api_client.rb +1 -1
  57. data/lib/freeclimb/api_error.rb +1 -1
  58. data/lib/freeclimb/configuration.rb +1 -2
  59. data/lib/freeclimb/models/account_request.rb +1 -3
  60. data/lib/freeclimb/models/account_result.rb +23 -4
  61. data/lib/freeclimb/models/account_status.rb +1 -1
  62. data/lib/freeclimb/models/account_type.rb +1 -1
  63. data/lib/freeclimb/models/add_to_conference.rb +1 -4
  64. data/lib/freeclimb/models/add_to_conference_notification_webhook.rb +384 -0
  65. data/lib/freeclimb/models/{conference_participant_result_all_of.rb → add_to_queue_notification_webhook.rb} +112 -59
  66. data/lib/freeclimb/models/answered_by.rb +1 -1
  67. data/lib/freeclimb/models/application_list.rb +1 -4
  68. data/lib/freeclimb/models/application_request.rb +1 -3
  69. data/lib/freeclimb/models/application_result.rb +1 -4
  70. data/lib/freeclimb/models/available_number.rb +1 -3
  71. data/lib/freeclimb/models/available_number_list.rb +1 -4
  72. data/lib/freeclimb/models/barge_in_reason.rb +38 -0
  73. data/lib/freeclimb/models/buy_incoming_number_request.rb +1 -3
  74. data/lib/freeclimb/models/{recording_result_all_of.rb → call_control_webhook.rb} +57 -45
  75. data/lib/freeclimb/models/call_direction.rb +1 -1
  76. data/lib/freeclimb/models/call_ended_reason.rb +58 -0
  77. data/lib/freeclimb/models/call_list.rb +1 -4
  78. data/lib/freeclimb/models/call_result.rb +23 -4
  79. data/lib/freeclimb/models/call_status.rb +1 -1
  80. data/lib/freeclimb/models/call_status_webhook.rb +354 -0
  81. data/lib/freeclimb/models/capabilities.rb +1 -3
  82. data/lib/freeclimb/models/completion_request.rb +1 -3
  83. data/lib/freeclimb/models/completion_result.rb +2 -15
  84. data/lib/freeclimb/models/completion_result_status.rb +37 -0
  85. data/lib/freeclimb/models/conference_list.rb +1 -4
  86. data/lib/freeclimb/models/conference_participant_list.rb +1 -4
  87. data/lib/freeclimb/models/conference_participant_result.rb +1 -4
  88. data/lib/freeclimb/models/conference_recording_status_webhook.rb +384 -0
  89. data/lib/freeclimb/models/conference_result.rb +23 -6
  90. data/lib/freeclimb/models/conference_status.rb +1 -1
  91. data/lib/freeclimb/models/conference_status_webhook.rb +387 -0
  92. data/lib/freeclimb/models/create_conference.rb +23 -6
  93. data/lib/freeclimb/models/create_conference_request.rb +23 -5
  94. data/lib/freeclimb/models/create_conference_webhook.rb +387 -0
  95. data/lib/freeclimb/models/create_web_rtc_token.rb +1 -3
  96. data/lib/freeclimb/models/dequeue.rb +1 -3
  97. data/lib/freeclimb/models/dequeue_webhook.rb +365 -0
  98. data/lib/freeclimb/models/enqueue.rb +1 -4
  99. data/lib/freeclimb/models/filter_logs_request.rb +1 -3
  100. data/lib/freeclimb/models/get_digits.rb +1 -4
  101. data/lib/freeclimb/models/get_digits_reason.rb +39 -0
  102. data/lib/freeclimb/models/get_digits_webhook.rb +373 -0
  103. data/lib/freeclimb/models/get_speech.rb +23 -4
  104. data/lib/freeclimb/models/get_speech_reason.rb +1 -1
  105. data/lib/freeclimb/models/get_speech_webhook.rb +423 -0
  106. data/lib/freeclimb/models/grammar_file_built_in.rb +1 -1
  107. data/lib/freeclimb/models/grammar_type.rb +1 -1
  108. data/lib/freeclimb/models/hangup.rb +1 -4
  109. data/lib/freeclimb/models/if_machine.rb +1 -1
  110. data/lib/freeclimb/models/inbound_call_webhook.rb +355 -0
  111. data/lib/freeclimb/models/incoming_number_list.rb +1 -4
  112. data/lib/freeclimb/models/incoming_number_request.rb +1 -3
  113. data/lib/freeclimb/models/incoming_number_result.rb +1 -4
  114. data/lib/freeclimb/models/language.rb +1 -1
  115. data/lib/freeclimb/models/{conference_result_all_of.rb → leave_conference_webhook.rb} +110 -89
  116. data/lib/freeclimb/models/log_level.rb +1 -1
  117. data/lib/freeclimb/models/log_list.rb +1 -4
  118. data/lib/freeclimb/models/log_result.rb +23 -3
  119. data/lib/freeclimb/models/{call_result_all_of.rb → machine_detected_webhook.rb} +96 -119
  120. data/lib/freeclimb/models/machine_type.rb +3 -3
  121. data/lib/freeclimb/models/make_call_request.rb +1 -3
  122. data/lib/freeclimb/models/{message_result_all_of.rb → message_delivery_webhook.rb} +71 -87
  123. data/lib/freeclimb/models/message_direction.rb +1 -1
  124. data/lib/freeclimb/models/message_request.rb +1 -4
  125. data/lib/freeclimb/models/message_result.rb +23 -4
  126. data/lib/freeclimb/models/message_status.rb +1 -1
  127. data/lib/freeclimb/models/{incoming_number_result_all_of.rb → message_status_webhook.rb} +117 -107
  128. data/lib/freeclimb/models/messages_list.rb +1 -4
  129. data/lib/freeclimb/models/mutable_resource_model.rb +1 -3
  130. data/lib/freeclimb/models/out_dial.rb +23 -4
  131. data/lib/freeclimb/models/out_dial_api_connect_webhook.rb +355 -0
  132. data/lib/freeclimb/models/out_dial_connect_webhook.rb +355 -0
  133. data/lib/freeclimb/models/out_dial_start_webhook.rb +366 -0
  134. data/lib/freeclimb/models/pagination_model.rb +1 -3
  135. data/lib/freeclimb/models/park.rb +1 -4
  136. data/lib/freeclimb/models/pause.rb +1 -4
  137. data/lib/freeclimb/models/percl_command.rb +3 -5
  138. data/lib/freeclimb/models/percl_script.rb +2 -4
  139. data/lib/freeclimb/models/play.rb +2 -5
  140. data/lib/freeclimb/models/play_beep.rb +1 -1
  141. data/lib/freeclimb/models/play_early_media.rb +2 -5
  142. data/lib/freeclimb/models/queue_list.rb +2 -5
  143. data/lib/freeclimb/models/queue_member.rb +1 -3
  144. data/lib/freeclimb/models/queue_member_list.rb +2 -5
  145. data/lib/freeclimb/models/queue_request.rb +1 -3
  146. data/lib/freeclimb/models/queue_result.rb +2 -5
  147. data/lib/freeclimb/models/queue_result_status.rb +1 -1
  148. data/lib/freeclimb/models/queue_wait_webhook.rb +375 -0
  149. data/lib/freeclimb/models/record_utterance.rb +2 -5
  150. data/lib/freeclimb/models/record_utterance_term_reason.rb +1 -1
  151. data/lib/freeclimb/models/record_webhook.rb +424 -0
  152. data/lib/freeclimb/models/recording_list.rb +2 -5
  153. data/lib/freeclimb/models/recording_result.rb +2 -5
  154. data/lib/freeclimb/models/redirect.rb +2 -5
  155. data/lib/freeclimb/models/redirect_webhook.rb +355 -0
  156. data/lib/freeclimb/models/reject.rb +2 -5
  157. data/lib/freeclimb/models/remove_from_conference.rb +1 -3
  158. data/lib/freeclimb/models/remove_from_queue_notification_webhook.rb +364 -0
  159. data/lib/freeclimb/models/request_type.rb +1 -1
  160. data/lib/freeclimb/models/say.rb +2 -5
  161. data/lib/freeclimb/models/send_digits.rb +2 -5
  162. data/lib/freeclimb/models/set_dtmf_pass_through.rb +2 -5
  163. data/lib/freeclimb/models/set_listen.rb +2 -5
  164. data/lib/freeclimb/models/set_talk.rb +2 -5
  165. data/lib/freeclimb/models/sms.rb +2 -5
  166. data/lib/freeclimb/models/sms_ten_dlc_brand.rb +6 -67
  167. data/lib/freeclimb/models/sms_ten_dlc_brand_alt_business_id_type.rb +39 -0
  168. data/lib/freeclimb/models/sms_ten_dlc_brand_entity_type.rb +40 -0
  169. data/lib/freeclimb/models/sms_ten_dlc_brand_identity_status.rb +39 -0
  170. data/lib/freeclimb/models/sms_ten_dlc_brand_relationship.rb +40 -0
  171. data/lib/freeclimb/models/sms_ten_dlc_brand_stock_exchange.rb +62 -0
  172. data/lib/freeclimb/models/sms_ten_dlc_brands_list_result.rb +2 -5
  173. data/lib/freeclimb/models/sms_ten_dlc_campaign.rb +2 -15
  174. data/lib/freeclimb/models/sms_ten_dlc_campaign_status.rb +37 -0
  175. data/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result.rb +2 -5
  176. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign.rb +2 -15
  177. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_brand.rb +1 -3
  178. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_status.rb +37 -0
  179. data/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result.rb +2 -5
  180. data/lib/freeclimb/models/sms_toll_free_campaign.rb +2 -15
  181. data/lib/freeclimb/models/sms_toll_free_campaign_registration_status.rb +40 -0
  182. data/lib/freeclimb/models/sms_toll_free_campaigns_list_result.rb +2 -5
  183. data/lib/freeclimb/models/start_record_call.rb +1 -3
  184. data/lib/freeclimb/models/terminate_conference.rb +1 -3
  185. data/lib/freeclimb/models/tfn.rb +1 -3
  186. data/lib/freeclimb/models/transcribe_reason.rb +40 -0
  187. data/lib/freeclimb/models/transcribe_term_reason.rb +37 -0
  188. data/lib/freeclimb/models/transcribe_utterance.rb +4 -7
  189. data/lib/freeclimb/models/{transcribe_utterance_all_of_record.rb → transcribe_utterance_record.rb} +8 -10
  190. data/lib/freeclimb/models/transcribe_webhook.rb +481 -0
  191. data/lib/freeclimb/models/unpark.rb +1 -3
  192. data/lib/freeclimb/models/update_call_request.rb +23 -3
  193. data/lib/freeclimb/models/update_call_request_status.rb +1 -1
  194. data/lib/freeclimb/models/update_conference_participant_request.rb +1 -3
  195. data/lib/freeclimb/models/update_conference_request.rb +23 -5
  196. data/lib/freeclimb/models/update_conference_request_status.rb +1 -1
  197. data/lib/freeclimb/models/{call_list_all_of.rb → webhook.rb} +18 -17
  198. data/lib/freeclimb/utils/request_verifier.rb +51 -51
  199. data/lib/freeclimb/utils/signature_information.rb +34 -34
  200. data/lib/freeclimb/version.rb +2 -2
  201. data/lib/freeclimb.rb +41 -49
  202. data/openapi.json +1734 -681
  203. data/package.json +3 -1
  204. data/spec/api/default_api_spec.rb +61 -35
  205. data/spec/factories.rb +78 -78
  206. data/spec/models/account_request_spec.rb +55 -17
  207. data/spec/models/account_result_spec.rb +304 -80
  208. data/spec/models/account_status_spec.rb +1 -1
  209. data/spec/models/account_type_spec.rb +1 -1
  210. data/spec/models/add_to_conference_notification_webhook_spec.rb +866 -0
  211. data/spec/models/add_to_conference_spec.rb +251 -38
  212. data/spec/models/add_to_queue_notification_webhook_spec.rb +643 -0
  213. data/spec/models/answered_by_spec.rb +1 -1
  214. data/spec/models/application_list_spec.rb +181 -39
  215. data/spec/models/application_request_spec.rb +160 -32
  216. data/spec/models/application_result_spec.rb +286 -50
  217. data/spec/models/available_number_list_spec.rb +181 -39
  218. data/spec/models/available_number_spec.rb +160 -32
  219. data/spec/models/barge_in_reason_spec.rb +77 -0
  220. data/spec/models/buy_incoming_number_request_spec.rb +76 -20
  221. data/spec/models/call_control_webhook_spec.rb +385 -0
  222. data/spec/models/call_direction_spec.rb +1 -1
  223. data/spec/models/call_ended_reason_spec.rb +397 -0
  224. data/spec/models/call_list_spec.rb +181 -39
  225. data/spec/models/call_result_spec.rb +551 -122
  226. data/spec/models/call_status_spec.rb +1 -1
  227. data/spec/models/call_status_webhook_spec.rb +793 -0
  228. data/spec/models/capabilities_spec.rb +118 -26
  229. data/spec/models/completion_request_spec.rb +35 -15
  230. data/spec/models/completion_result_spec.rb +91 -45
  231. data/spec/models/completion_result_status_spec.rb +61 -0
  232. data/spec/models/conference_list_spec.rb +181 -39
  233. data/spec/models/conference_participant_list_spec.rb +181 -39
  234. data/spec/models/conference_participant_result_spec.rb +272 -41
  235. data/spec/models/conference_recording_status_webhook_spec.rb +866 -0
  236. data/spec/models/conference_result_spec.rb +367 -89
  237. data/spec/models/conference_status_spec.rb +1 -1
  238. data/spec/models/conference_status_webhook_spec.rb +866 -0
  239. data/spec/models/create_conference_request_spec.rb +148 -44
  240. data/spec/models/create_conference_spec.rb +169 -47
  241. data/spec/models/create_conference_webhook_spec.rb +866 -0
  242. data/spec/models/create_web_rtc_token_spec.rb +76 -20
  243. data/spec/models/dequeue_spec.rb +1 -1
  244. data/spec/models/dequeue_webhook_spec.rb +743 -0
  245. data/spec/models/enqueue_spec.rb +97 -23
  246. data/spec/models/filter_logs_request_spec.rb +34 -14
  247. data/spec/models/get_digits_reason_spec.rb +93 -0
  248. data/spec/models/get_digits_spec.rb +202 -42
  249. data/spec/models/get_digits_webhook_spec.rb +815 -0
  250. data/spec/models/get_speech_reason_spec.rb +1 -1
  251. data/spec/models/get_speech_spec.rb +308 -66
  252. data/spec/models/get_speech_webhook_spec.rb +1072 -0
  253. data/spec/models/grammar_file_built_in_spec.rb +1 -1
  254. data/spec/models/grammar_type_spec.rb +1 -1
  255. data/spec/models/hangup_spec.rb +34 -14
  256. data/spec/models/if_machine_spec.rb +1 -1
  257. data/spec/models/inbound_call_webhook_spec.rb +692 -0
  258. data/spec/models/incoming_number_list_spec.rb +181 -39
  259. data/spec/models/incoming_number_request_spec.rb +76 -20
  260. data/spec/models/incoming_number_result_spec.rb +370 -62
  261. data/spec/models/language_spec.rb +1 -1
  262. data/spec/models/leave_conference_webhook_spec.rb +643 -0
  263. data/spec/models/log_level_spec.rb +1 -1
  264. data/spec/models/log_list_spec.rb +181 -39
  265. data/spec/models/log_result_spec.rb +190 -50
  266. data/spec/models/machine_detected_webhook_spec.rb +758 -0
  267. data/spec/models/machine_type_spec.rb +10 -10
  268. data/spec/models/make_call_request_spec.rb +223 -41
  269. data/spec/models/message_delivery_webhook_spec.rb +630 -0
  270. data/spec/models/message_direction_spec.rb +1 -1
  271. data/spec/models/message_request_spec.rb +202 -38
  272. data/spec/models/message_result_spec.rb +375 -74
  273. data/spec/models/message_status_spec.rb +1 -1
  274. data/spec/models/message_status_webhook_spec.rb +732 -0
  275. data/spec/models/messages_list_spec.rb +181 -39
  276. data/spec/models/mutable_resource_model_spec.rb +97 -23
  277. data/spec/models/out_dial_api_connect_webhook_spec.rb +692 -0
  278. data/spec/models/out_dial_connect_webhook_spec.rb +692 -0
  279. data/spec/models/out_dial_spec.rb +253 -59
  280. data/spec/models/out_dial_start_webhook_spec.rb +741 -0
  281. data/spec/models/pagination_model_spec.rb +160 -32
  282. data/spec/models/park_spec.rb +76 -20
  283. data/spec/models/pause_spec.rb +34 -14
  284. data/spec/models/percl_command_spec.rb +34 -14
  285. data/spec/models/percl_script_spec.rb +34 -18
  286. data/spec/models/play_beep_spec.rb +1 -1
  287. data/spec/models/play_early_media_spec.rb +34 -14
  288. data/spec/models/play_spec.rb +76 -20
  289. data/spec/models/queue_list_spec.rb +181 -39
  290. data/spec/models/queue_member_list_spec.rb +181 -39
  291. data/spec/models/queue_member_spec.rb +118 -26
  292. data/spec/models/queue_request_spec.rb +55 -17
  293. data/spec/models/queue_result_spec.rb +244 -44
  294. data/spec/models/queue_result_status_spec.rb +1 -1
  295. data/spec/models/queue_wait_webhook_spec.rb +794 -0
  296. data/spec/models/record_utterance_spec.rb +160 -32
  297. data/spec/models/record_utterance_term_reason_spec.rb +1 -1
  298. data/spec/models/record_webhook_spec.rb +1062 -0
  299. data/spec/models/recording_list_spec.rb +181 -39
  300. data/spec/models/recording_result_spec.rb +202 -38
  301. data/spec/models/redirect_spec.rb +34 -14
  302. data/spec/models/redirect_webhook_spec.rb +692 -0
  303. data/spec/models/reject_spec.rb +34 -14
  304. data/spec/models/remove_from_conference_spec.rb +1 -1
  305. data/spec/models/remove_from_queue_notification_webhook_spec.rb +768 -0
  306. data/spec/models/request_type_spec.rb +1 -1
  307. data/spec/models/say_spec.rb +97 -23
  308. data/spec/models/send_digits_spec.rb +76 -20
  309. data/spec/models/set_dtmf_pass_through_spec.rb +34 -14
  310. data/spec/models/set_listen_spec.rb +34 -14
  311. data/spec/models/set_talk_spec.rb +34 -14
  312. data/spec/models/sms_spec.rb +97 -23
  313. data/spec/models/sms_ten_dlc_brand_alt_business_id_type_spec.rb +93 -0
  314. data/spec/models/sms_ten_dlc_brand_entity_type_spec.rb +109 -0
  315. data/spec/models/sms_ten_dlc_brand_identity_status_spec.rb +93 -0
  316. data/spec/models/sms_ten_dlc_brand_relationship_spec.rb +109 -0
  317. data/spec/models/sms_ten_dlc_brand_spec.rb +933 -378
  318. data/spec/models/sms_ten_dlc_brand_stock_exchange_spec.rb +461 -0
  319. data/spec/models/sms_ten_dlc_brands_list_result_spec.rb +181 -39
  320. data/spec/models/sms_ten_dlc_campaign_spec.rb +820 -164
  321. data/spec/models/sms_ten_dlc_campaign_status_spec.rb +61 -0
  322. data/spec/models/sms_ten_dlc_campaigns_list_result_spec.rb +181 -39
  323. data/spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb +251 -51
  324. data/spec/models/sms_ten_dlc_partner_campaign_spec.rb +713 -183
  325. data/spec/models/sms_ten_dlc_partner_campaign_status_spec.rb +61 -0
  326. data/spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb +181 -39
  327. data/spec/models/sms_toll_free_campaign_registration_status_spec.rb +109 -0
  328. data/spec/models/sms_toll_free_campaign_spec.rb +200 -69
  329. data/spec/models/sms_toll_free_campaigns_list_result_spec.rb +181 -39
  330. data/spec/models/start_record_call_spec.rb +1 -1
  331. data/spec/models/terminate_conference_spec.rb +1 -1
  332. data/spec/models/tfn_spec.rb +34 -14
  333. data/spec/models/transcribe_reason_spec.rb +109 -0
  334. data/spec/models/transcribe_term_reason_spec.rb +61 -0
  335. data/spec/models/{transcribe_utterance_all_of_record_spec.rb → transcribe_utterance_record_spec.rb} +99 -43
  336. data/spec/models/transcribe_utterance_spec.rb +155 -45
  337. data/spec/models/transcribe_webhook_spec.rb +1373 -0
  338. data/spec/models/unpark_spec.rb +1 -1
  339. data/spec/models/update_call_request_spec.rb +64 -32
  340. data/spec/models/update_call_request_status_spec.rb +1 -1
  341. data/spec/models/update_conference_participant_request_spec.rb +104 -17
  342. data/spec/models/update_conference_request_spec.rb +136 -56
  343. data/spec/models/update_conference_request_status_spec.rb +1 -1
  344. data/spec/models/webhook_spec.rb +176 -0
  345. data/spec/quickstart_spec.rb +7 -7
  346. data/spec/spec_helper.rb +1 -1
  347. data/spec/utils/request_verifier_spec.rb +123 -123
  348. data/spec/utils/signature_information_spec.rb +36 -36
  349. data/yarn.lock +91 -91
  350. metadata +157 -100
  351. data/docs/AccountResultAllOf.md +0 -30
  352. data/docs/AddToConferenceAllOf.md +0 -36
  353. data/docs/ApplicationListAllOf.md +0 -18
  354. data/docs/ApplicationResultAllOf.md +0 -34
  355. data/docs/AvailableNumberListAllOf.md +0 -18
  356. data/docs/CallListAllOf.md +0 -18
  357. data/docs/CallResultAllOf.md +0 -48
  358. data/docs/ConferenceListAllOf.md +0 -18
  359. data/docs/ConferenceParticipantListAllOf.md +0 -18
  360. data/docs/ConferenceParticipantResultAllOf.md +0 -30
  361. data/docs/ConferenceResultAllOf.md +0 -36
  362. data/docs/CreateConferenceAllOf.md +0 -28
  363. data/docs/EnqueueAllOf.md +0 -24
  364. data/docs/GetDigitsAllOf.md +0 -34
  365. data/docs/GetSpeechAllOf.md +0 -42
  366. data/docs/HangupAllOf.md +0 -18
  367. data/docs/IncomingNumberListAllOf.md +0 -18
  368. data/docs/IncomingNumberResultAllOf.md +0 -42
  369. data/docs/LogListAllOf.md +0 -18
  370. data/docs/MessageRequestAllOf.md +0 -26
  371. data/docs/MessageResultAllOf.md +0 -40
  372. data/docs/MessagesListAllOf.md +0 -18
  373. data/docs/OutDialAllOf.md +0 -36
  374. data/docs/ParkAllOf.md +0 -22
  375. data/docs/PauseAllOf.md +0 -18
  376. data/docs/PlayAllOf.md +0 -22
  377. data/docs/PlayEarlyMediaAllOf.md +0 -18
  378. data/docs/QueueListAllOf.md +0 -18
  379. data/docs/QueueMemberListAllOf.md +0 -18
  380. data/docs/QueueResultAllOf.md +0 -30
  381. data/docs/RecordUtteranceAllOf.md +0 -30
  382. data/docs/RecordingListAllOf.md +0 -18
  383. data/docs/RecordingResultAllOf.md +0 -26
  384. data/docs/RedirectAllOf.md +0 -18
  385. data/docs/RejectAllOf.md +0 -18
  386. data/docs/RemoveFromConferenceAllOf.md +0 -18
  387. data/docs/SMSTenDLCBrandsListResultAllOf.md +0 -18
  388. data/docs/SMSTenDLCCampaignsListResultAllOf.md +0 -18
  389. data/docs/SMSTenDLCPartnerCampaignsListResultAllOf.md +0 -18
  390. data/docs/SMSTollFreeCampaignsListResultAllOf.md +0 -18
  391. data/docs/SayAllOf.md +0 -24
  392. data/docs/SendDigitsAllOf.md +0 -22
  393. data/docs/SetDTMFPassThroughAllOf.md +0 -18
  394. data/docs/SetListenAllOf.md +0 -18
  395. data/docs/SetTalkAllOf.md +0 -18
  396. data/docs/SmsAllOf.md +0 -24
  397. data/docs/TerminateConferenceAllOf.md +0 -18
  398. data/docs/TranscribeUtteranceAllOf.md +0 -28
  399. data/docs/TranscribeUtteranceAllOfRecord.md +0 -22
  400. data/lib/freeclimb/models/account_result_all_of.rb +0 -289
  401. data/lib/freeclimb/models/add_to_conference_all_of.rb +0 -318
  402. data/lib/freeclimb/models/application_list_all_of.rb +0 -226
  403. data/lib/freeclimb/models/application_result_all_of.rb +0 -313
  404. data/lib/freeclimb/models/available_number_list_all_of.rb +0 -226
  405. data/lib/freeclimb/models/conference_list_all_of.rb +0 -226
  406. data/lib/freeclimb/models/conference_participant_list_all_of.rb +0 -226
  407. data/lib/freeclimb/models/create_conference_all_of.rb +0 -280
  408. data/lib/freeclimb/models/enqueue_all_of.rb +0 -266
  409. data/lib/freeclimb/models/get_digits_all_of.rb +0 -310
  410. data/lib/freeclimb/models/get_speech_all_of.rb +0 -354
  411. data/lib/freeclimb/models/hangup_all_of.rb +0 -224
  412. data/lib/freeclimb/models/incoming_number_list_all_of.rb +0 -226
  413. data/lib/freeclimb/models/log_list_all_of.rb +0 -226
  414. data/lib/freeclimb/models/message_request_all_of.rb +0 -279
  415. data/lib/freeclimb/models/messages_list_all_of.rb +0 -227
  416. data/lib/freeclimb/models/out_dial_all_of.rb +0 -329
  417. data/lib/freeclimb/models/park_all_of.rb +0 -252
  418. data/lib/freeclimb/models/pause_all_of.rb +0 -228
  419. data/lib/freeclimb/models/play_all_of.rb +0 -248
  420. data/lib/freeclimb/models/play_early_media_all_of.rb +0 -228
  421. data/lib/freeclimb/models/queue_list_all_of.rb +0 -226
  422. data/lib/freeclimb/models/queue_member_list_all_of.rb +0 -226
  423. data/lib/freeclimb/models/queue_result_all_of.rb +0 -291
  424. data/lib/freeclimb/models/record_utterance_all_of.rb +0 -288
  425. data/lib/freeclimb/models/recording_list_all_of.rb +0 -226
  426. data/lib/freeclimb/models/redirect_all_of.rb +0 -228
  427. data/lib/freeclimb/models/reject_all_of.rb +0 -224
  428. data/lib/freeclimb/models/say_all_of.rb +0 -260
  429. data/lib/freeclimb/models/send_digits_all_of.rb +0 -248
  430. data/lib/freeclimb/models/set_dtmf_pass_through_all_of.rb +0 -224
  431. data/lib/freeclimb/models/set_listen_all_of.rb +0 -224
  432. data/lib/freeclimb/models/set_talk_all_of.rb +0 -224
  433. data/lib/freeclimb/models/sms_all_of.rb +0 -266
  434. data/lib/freeclimb/models/sms_ten_dlc_brands_list_result_all_of.rb +0 -226
  435. data/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result_all_of.rb +0 -226
  436. data/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result_all_of.rb +0 -226
  437. data/lib/freeclimb/models/sms_toll_free_campaigns_list_result_all_of.rb +0 -226
  438. data/lib/freeclimb/models/transcribe_utterance_all_of.rb +0 -281
@@ -1,310 +0,0 @@
1
- =begin
2
- #FreeClimb API
3
-
4
- #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: support@freeclimb.com
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module Freeclimb
17
- class GetDigitsAllOf
18
- # When the Caller has finished entering digits, FreeClimb will make an HTTP POST request to this URL. A PerCL response is expected to continue handling the Call. Make sure to keep “http://“ in the URL.
19
- attr_accessor :action_url
20
-
21
- # Maximum time in milliseconds that FreeClimb will wait for the Caller to press any digit after the last digit entered, before making a determination that a `timeout` has occurred and moving on to make the request to the actionUrl to submit the results of the `GetDigits` command. This timeout interval begins and resets after each digit entered.
22
- attr_accessor :digit_timeout_ms
23
-
24
- # Digit that causes the input sequence to be deemed complete. This attribute defers to the `timeout` attribute – so, if a `timeout` occurs, then the command terminates regardless of the value of `finishOnKey`.
25
- attr_accessor :finish_on_key
26
-
27
- # If set to true, the FreeClimb platform starts with an empty DTMF buffer to store the digits entered by the caller. If set to false, FreeClimb will append the user inputs to the end of the existing digits buffer and will return digits from the start of the digits buffer.
28
- attr_accessor :flush_buffer
29
-
30
- # Maximum time in milliseconds that FreeClimb will wait for the Caller to press the first digit before making a determination that a `timeout` has occurred and moving on to make the request to the `actionUrl` to submit the results of the `GetDigits` command. This timeout interval begins when all nested commands have been fully executed.
31
- attr_accessor :initial_timeout_ms
32
-
33
- # Maximum number of digits expected in the input. If the terminating digit is not entered and the caller has entered the maximum number of digits allowed, the `GetDigits` command terminates regardless of the value of `finishOnKey`.
34
- attr_accessor :max_digits
35
-
36
- # Minimum number of digits expected in the input. If specified, FreeClimb will return the collected digits only if the Caller has entered at least that many digits.
37
- attr_accessor :min_digits
38
-
39
- # JSON array of PerCL commands to nest within the `GetDigits` command. The `Say`, `Play`, and `Pause` commands can be used. The nested actions are executed while FreeClimb is waiting for input from the Caller.
40
- attr_accessor :prompts
41
-
42
- # Parameter `privacyMode` will not log the `text` as required by PCI compliance.
43
- attr_accessor :privacy_mode
44
-
45
- # Attribute mapping from ruby-style variable name to JSON key.
46
- def self.attribute_map
47
- {
48
- :'action_url' => :'actionUrl',
49
- :'digit_timeout_ms' => :'digitTimeoutMs',
50
- :'finish_on_key' => :'finishOnKey',
51
- :'flush_buffer' => :'flushBuffer',
52
- :'initial_timeout_ms' => :'initialTimeoutMs',
53
- :'max_digits' => :'maxDigits',
54
- :'min_digits' => :'minDigits',
55
- :'prompts' => :'prompts',
56
- :'privacy_mode' => :'privacyMode'
57
- }
58
- end
59
-
60
- # Returns all the JSON keys this model knows about
61
- def self.acceptable_attributes
62
- attribute_map.values
63
- end
64
-
65
- # Attribute type mapping.
66
- def self.openapi_types
67
- {
68
- :'action_url' => :'String',
69
- :'digit_timeout_ms' => :'Integer',
70
- :'finish_on_key' => :'String',
71
- :'flush_buffer' => :'Boolean',
72
- :'initial_timeout_ms' => :'Integer',
73
- :'max_digits' => :'Integer',
74
- :'min_digits' => :'Integer',
75
- :'prompts' => :'Array<PerclCommand>',
76
- :'privacy_mode' => :'Boolean'
77
- }
78
- end
79
-
80
- # List of attributes with nullable: true
81
- def self.openapi_nullable
82
- Set.new([
83
- ])
84
- end
85
-
86
- # Initializes the object
87
- # @param [Hash] attributes Model attributes in the form of hash
88
- def initialize(attributes = {})
89
- if (!attributes.is_a?(Hash))
90
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::GetDigitsAllOf` initialize method"
91
- end
92
-
93
- # check to see if the attribute exists and convert string to symbol for hash key
94
- attributes = attributes.each_with_object({}) { |(k, v), h|
95
- if (!self.class.attribute_map.key?(k.to_sym))
96
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::GetDigitsAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
97
- end
98
- h[k.to_sym] = v
99
- }
100
-
101
- if attributes.key?(:'action_url')
102
- self.action_url = attributes[:'action_url']
103
- end
104
-
105
- if attributes.key?(:'digit_timeout_ms')
106
- self.digit_timeout_ms = attributes[:'digit_timeout_ms']
107
- end
108
-
109
- if attributes.key?(:'finish_on_key')
110
- self.finish_on_key = attributes[:'finish_on_key']
111
- end
112
-
113
- if attributes.key?(:'flush_buffer')
114
- self.flush_buffer = attributes[:'flush_buffer']
115
- end
116
-
117
- if attributes.key?(:'initial_timeout_ms')
118
- self.initial_timeout_ms = attributes[:'initial_timeout_ms']
119
- end
120
-
121
- if attributes.key?(:'max_digits')
122
- self.max_digits = attributes[:'max_digits']
123
- end
124
-
125
- if attributes.key?(:'min_digits')
126
- self.min_digits = attributes[:'min_digits']
127
- end
128
-
129
- if attributes.key?(:'prompts')
130
- if (value = attributes[:'prompts']).is_a?(Array)
131
- self.prompts = value
132
- end
133
- end
134
-
135
- if attributes.key?(:'privacy_mode')
136
- self.privacy_mode = attributes[:'privacy_mode']
137
- end
138
- end
139
-
140
- # Show invalid properties with the reasons. Usually used together with valid?
141
- # @return Array for valid properties with the reasons
142
- def list_invalid_properties
143
- invalid_properties = Array.new
144
- if @action_url.nil?
145
- invalid_properties.push('invalid value for "action_url", action_url cannot be nil.')
146
- end
147
-
148
- invalid_properties
149
- end
150
-
151
- # Check to see if the all the properties in the model are valid
152
- # @return true if the model is valid
153
- def valid?
154
-
155
- if @action_url.nil?
156
- false
157
- else
158
- list_invalid_properties.length() == 0
159
- end
160
- end
161
-
162
- # Checks equality by comparing each attribute.
163
- # @param [Object] Object to be compared
164
- def ==(o)
165
- return true if self.equal?(o)
166
- self.class == o.class &&
167
- action_url == o.action_url &&
168
- digit_timeout_ms == o.digit_timeout_ms &&
169
- finish_on_key == o.finish_on_key &&
170
- flush_buffer == o.flush_buffer &&
171
- initial_timeout_ms == o.initial_timeout_ms &&
172
- max_digits == o.max_digits &&
173
- min_digits == o.min_digits &&
174
- prompts == o.prompts &&
175
- privacy_mode == o.privacy_mode
176
- end
177
-
178
- # @see the `==` method
179
- # @param [Object] Object to be compared
180
- def eql?(o)
181
- self == o
182
- end
183
-
184
- # Calculates hash code according to all attributes.
185
- # @return [Integer] Hash code
186
- def hash
187
- [action_url, digit_timeout_ms, finish_on_key, flush_buffer, initial_timeout_ms, max_digits, min_digits, prompts, privacy_mode].hash
188
- end
189
-
190
- # Builds the object from hash
191
- # @param [Hash] attributes Model attributes in the form of hash
192
- # @return [Object] Returns the model itself
193
- def self.build_from_hash(attributes)
194
- new.build_from_hash(attributes)
195
- end
196
-
197
- # Builds the object from hash
198
- # @param [Hash] attributes Model attributes in the form of hash
199
- # @return [Object] Returns the model itself
200
- def build_from_hash(attributes)
201
- return nil unless attributes.is_a?(Hash)
202
- self.class.openapi_types.each_pair do |key, type|
203
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
204
- self.send("#{key}=", nil)
205
- elsif type =~ /\AArray<(.*)>/i
206
- # check to ensure the input is an array given that the attribute
207
- # is documented as an array but the input is not
208
- if attributes[self.class.attribute_map[key]].is_a?(Array)
209
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
210
- end
211
- elsif !attributes[self.class.attribute_map[key]].nil?
212
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
213
- end
214
- end
215
-
216
- self
217
- end
218
-
219
- # Deserializes the data based on type
220
- # @param string type Data type
221
- # @param string value Value to be deserialized
222
- # @return [Object] Deserialized data
223
- def _deserialize(type, value)
224
- case type.to_sym
225
- when :Time
226
- Time.parse(value)
227
- when :Date
228
- Date.parse(value)
229
- when :String
230
- value.to_s
231
- when :Integer
232
- value.to_i
233
- when :Float
234
- value.to_f
235
- when :Boolean
236
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
237
- true
238
- else
239
- false
240
- end
241
- when :Object
242
- # generic object (usually a Hash), return directly
243
- value
244
- when /\AArray<(?<inner_type>.+)>\z/
245
- inner_type = Regexp.last_match[:inner_type]
246
- value.map { |v| _deserialize(inner_type, v) }
247
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
248
- k_type = Regexp.last_match[:k_type]
249
- v_type = Regexp.last_match[:v_type]
250
- {}.tap do |hash|
251
- value.each do |k, v|
252
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
253
- end
254
- end
255
- else # model
256
- # models (e.g. Pet) or oneOf
257
- klass = Freeclimb.const_get(type)
258
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
259
- end
260
- end
261
-
262
- # Returns the string representation of the object
263
- # @return [String] String presentation of the object
264
- def to_s
265
- to_hash.to_s
266
- end
267
-
268
- # to_body is an alias to to_hash (backward compatibility)
269
- # @return [Hash] Returns the object in the form of hash
270
- def to_body
271
- to_hash
272
- end
273
-
274
- # Returns the object in the form of hash
275
- # @return [Hash] Returns the object in the form of hash
276
- def to_hash
277
- hash = {}
278
- self.class.attribute_map.each_pair do |attr, param|
279
- value = self.send(attr)
280
- if value.nil?
281
- is_nullable = self.class.openapi_nullable.include?(attr)
282
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
283
- end
284
-
285
- hash[param] = _to_hash(value)
286
- end
287
- hash
288
- end
289
-
290
- # Outputs non-array value in the form of hash
291
- # For object, use to_hash. Otherwise, just return the value
292
- # @param [Object] value Any valid value
293
- # @return [Hash] Returns the value in the form of hash
294
- def _to_hash(value)
295
- if value.is_a?(Array)
296
- value.compact.map { |v| _to_hash(v) }
297
- elsif value.is_a?(Hash)
298
- {}.tap do |hash|
299
- value.each { |k, v| hash[k] = _to_hash(v) }
300
- end
301
- elsif value.respond_to? :to_hash
302
- value.to_hash
303
- else
304
- value
305
- end
306
- end
307
-
308
- end
309
-
310
- end
@@ -1,354 +0,0 @@
1
- =begin
2
- #FreeClimb API
3
-
4
- #FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: support@freeclimb.com
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module Freeclimb
17
- class GetSpeechAllOf
18
- # When the caller has finished speaking or the command has timed out, FreeClimb will make a POST request to this URL. A PerCL response is expected to continue handling the call.
19
- attr_accessor :action_url
20
-
21
- attr_accessor :grammar_type
22
-
23
- # The grammar file to use for speech recognition. If grammarType is set to URL, this attribute is specified as a download URL.
24
- attr_accessor :grammar_file
25
-
26
- # The grammar rule within the specified grammar file to use for speech recognition. This attribute is optional if `grammarType` is `URL` and ignored if `grammarType` is `BUILTIN`.
27
- attr_accessor :grammar_rule
28
-
29
- # Indicates whether a beep should be played just before speech recognition is initiated so that the speaker can start to speak.
30
- attr_accessor :play_beep
31
-
32
- # The JSON array of PerCL commands to nest within the `GetSpeech` command. The `Say`, `Play`, and `Pause` commands can be used. The nested actions are executed while FreeClimb is waiting for input from the caller. This allows for playing menu options to the caller and to prompt for the expected input. These commands stop executing when the caller begins to input speech.
33
- attr_accessor :prompts
34
-
35
- # When recognition is started and there is no speech detected for `noInputTimeoutMs` milliseconds, the recognizer will terminate the recognition operation.
36
- attr_accessor :no_input_timeout_ms
37
-
38
- # When playback of prompts ends and there is no match for `recognitionTimeoutMs` milliseconds, the recognizer will terminate the recognition operation.
39
- attr_accessor :recognition_timeout_ms
40
-
41
- # When a recognition resource recognizes a spoken phrase, it associates a confidence level with that match. Parameter `confidenceThreshold` specifies what confidence level is considered a successful match. Values are between 0.0 and 1.0.
42
- attr_accessor :confidence_threshold
43
-
44
- # The speech recognizer supports a variable level of sound sensitivity. The sensitivityLevel attribute allows for filtering out background noise, so it is not mistaken for speech. Values are between 0.0 and 1.0
45
- attr_accessor :sensitivity_level
46
-
47
- # Parameter `speechCompleteTimeoutMs` specifies the length of silence required following user speech before the speech recognizer finalizes a result. This timeout applies when the recognizer currently has a complete match against an active grammar. Reasonable speech complete timeout values are typically in the range of 0.3 seconds to 1.0 seconds.
48
- attr_accessor :speech_complete_timeout_ms
49
-
50
- # Parameter `speechIncompleteTimeoutMs` specifies the length of silence following user speech after which a recognizer finalizes a result. This timeout applies when the speech prior to the silence is an incomplete match of all active grammars. Timeout `speechIncompleteTimeoutMs` is usually longer than `speechCompleteTimeoutMs` to allow users to pause mid-utterance.
51
- attr_accessor :speech_incomplete_timeout_ms
52
-
53
- # Parameter privacyMode will not log the `text` as required by PCI compliance.
54
- attr_accessor :privacy_mode
55
-
56
- # Attribute mapping from ruby-style variable name to JSON key.
57
- def self.attribute_map
58
- {
59
- :'action_url' => :'actionUrl',
60
- :'grammar_type' => :'grammarType',
61
- :'grammar_file' => :'grammarFile',
62
- :'grammar_rule' => :'grammarRule',
63
- :'play_beep' => :'playBeep',
64
- :'prompts' => :'prompts',
65
- :'no_input_timeout_ms' => :'noInputTimeoutMs',
66
- :'recognition_timeout_ms' => :'recognitionTimeoutMs',
67
- :'confidence_threshold' => :'confidenceThreshold',
68
- :'sensitivity_level' => :'sensitivityLevel',
69
- :'speech_complete_timeout_ms' => :'speechCompleteTimeoutMs',
70
- :'speech_incomplete_timeout_ms' => :'speechIncompleteTimeoutMs',
71
- :'privacy_mode' => :'privacyMode'
72
- }
73
- end
74
-
75
- # Returns all the JSON keys this model knows about
76
- def self.acceptable_attributes
77
- attribute_map.values
78
- end
79
-
80
- # Attribute type mapping.
81
- def self.openapi_types
82
- {
83
- :'action_url' => :'String',
84
- :'grammar_type' => :'GrammarType',
85
- :'grammar_file' => :'String',
86
- :'grammar_rule' => :'String',
87
- :'play_beep' => :'Boolean',
88
- :'prompts' => :'Array<PerclCommand>',
89
- :'no_input_timeout_ms' => :'Integer',
90
- :'recognition_timeout_ms' => :'Integer',
91
- :'confidence_threshold' => :'Float',
92
- :'sensitivity_level' => :'Float',
93
- :'speech_complete_timeout_ms' => :'Integer',
94
- :'speech_incomplete_timeout_ms' => :'Integer',
95
- :'privacy_mode' => :'Boolean'
96
- }
97
- end
98
-
99
- # List of attributes with nullable: true
100
- def self.openapi_nullable
101
- Set.new([
102
- :'grammar_type',
103
- ])
104
- end
105
-
106
- # Initializes the object
107
- # @param [Hash] attributes Model attributes in the form of hash
108
- def initialize(attributes = {})
109
- if (!attributes.is_a?(Hash))
110
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::GetSpeechAllOf` initialize method"
111
- end
112
-
113
- # check to see if the attribute exists and convert string to symbol for hash key
114
- attributes = attributes.each_with_object({}) { |(k, v), h|
115
- if (!self.class.attribute_map.key?(k.to_sym))
116
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::GetSpeechAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
117
- end
118
- h[k.to_sym] = v
119
- }
120
-
121
- if attributes.key?(:'action_url')
122
- self.action_url = attributes[:'action_url']
123
- end
124
-
125
- if attributes.key?(:'grammar_type')
126
- self.grammar_type = attributes[:'grammar_type']
127
- end
128
-
129
- if attributes.key?(:'grammar_file')
130
- self.grammar_file = attributes[:'grammar_file']
131
- end
132
-
133
- if attributes.key?(:'grammar_rule')
134
- self.grammar_rule = attributes[:'grammar_rule']
135
- end
136
-
137
- if attributes.key?(:'play_beep')
138
- self.play_beep = attributes[:'play_beep']
139
- end
140
-
141
- if attributes.key?(:'prompts')
142
- if (value = attributes[:'prompts']).is_a?(Array)
143
- self.prompts = value
144
- end
145
- end
146
-
147
- if attributes.key?(:'no_input_timeout_ms')
148
- self.no_input_timeout_ms = attributes[:'no_input_timeout_ms']
149
- end
150
-
151
- if attributes.key?(:'recognition_timeout_ms')
152
- self.recognition_timeout_ms = attributes[:'recognition_timeout_ms']
153
- end
154
-
155
- if attributes.key?(:'confidence_threshold')
156
- self.confidence_threshold = attributes[:'confidence_threshold']
157
- end
158
-
159
- if attributes.key?(:'sensitivity_level')
160
- self.sensitivity_level = attributes[:'sensitivity_level']
161
- end
162
-
163
- if attributes.key?(:'speech_complete_timeout_ms')
164
- self.speech_complete_timeout_ms = attributes[:'speech_complete_timeout_ms']
165
- end
166
-
167
- if attributes.key?(:'speech_incomplete_timeout_ms')
168
- self.speech_incomplete_timeout_ms = attributes[:'speech_incomplete_timeout_ms']
169
- end
170
-
171
- if attributes.key?(:'privacy_mode')
172
- self.privacy_mode = attributes[:'privacy_mode']
173
- end
174
- end
175
-
176
- # Show invalid properties with the reasons. Usually used together with valid?
177
- # @return Array for valid properties with the reasons
178
- def list_invalid_properties
179
- invalid_properties = Array.new
180
- if @action_url.nil?
181
- invalid_properties.push('invalid value for "action_url", action_url cannot be nil.')
182
- end
183
-
184
- if @grammar_file.nil?
185
- invalid_properties.push('invalid value for "grammar_file", grammar_file cannot be nil.')
186
- end
187
-
188
- invalid_properties
189
- end
190
-
191
- # Check to see if the all the properties in the model are valid
192
- # @return true if the model is valid
193
- def valid?
194
-
195
- if @action_url.nil?
196
- false
197
- else
198
- list_invalid_properties.length() == 0
199
- end
200
- end
201
-
202
- # Checks equality by comparing each attribute.
203
- # @param [Object] Object to be compared
204
- def ==(o)
205
- return true if self.equal?(o)
206
- self.class == o.class &&
207
- action_url == o.action_url &&
208
- grammar_type == o.grammar_type &&
209
- grammar_file == o.grammar_file &&
210
- grammar_rule == o.grammar_rule &&
211
- play_beep == o.play_beep &&
212
- prompts == o.prompts &&
213
- no_input_timeout_ms == o.no_input_timeout_ms &&
214
- recognition_timeout_ms == o.recognition_timeout_ms &&
215
- confidence_threshold == o.confidence_threshold &&
216
- sensitivity_level == o.sensitivity_level &&
217
- speech_complete_timeout_ms == o.speech_complete_timeout_ms &&
218
- speech_incomplete_timeout_ms == o.speech_incomplete_timeout_ms &&
219
- privacy_mode == o.privacy_mode
220
- end
221
-
222
- # @see the `==` method
223
- # @param [Object] Object to be compared
224
- def eql?(o)
225
- self == o
226
- end
227
-
228
- # Calculates hash code according to all attributes.
229
- # @return [Integer] Hash code
230
- def hash
231
- [action_url, grammar_type, grammar_file, grammar_rule, play_beep, prompts, no_input_timeout_ms, recognition_timeout_ms, confidence_threshold, sensitivity_level, speech_complete_timeout_ms, speech_incomplete_timeout_ms, privacy_mode].hash
232
- end
233
-
234
- # Builds the object from hash
235
- # @param [Hash] attributes Model attributes in the form of hash
236
- # @return [Object] Returns the model itself
237
- def self.build_from_hash(attributes)
238
- new.build_from_hash(attributes)
239
- end
240
-
241
- # Builds the object from hash
242
- # @param [Hash] attributes Model attributes in the form of hash
243
- # @return [Object] Returns the model itself
244
- def build_from_hash(attributes)
245
- return nil unless attributes.is_a?(Hash)
246
- self.class.openapi_types.each_pair do |key, type|
247
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
248
- self.send("#{key}=", nil)
249
- elsif type =~ /\AArray<(.*)>/i
250
- # check to ensure the input is an array given that the attribute
251
- # is documented as an array but the input is not
252
- if attributes[self.class.attribute_map[key]].is_a?(Array)
253
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
254
- end
255
- elsif !attributes[self.class.attribute_map[key]].nil?
256
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
257
- end
258
- end
259
-
260
- self
261
- end
262
-
263
- # Deserializes the data based on type
264
- # @param string type Data type
265
- # @param string value Value to be deserialized
266
- # @return [Object] Deserialized data
267
- def _deserialize(type, value)
268
- case type.to_sym
269
- when :Time
270
- Time.parse(value)
271
- when :Date
272
- Date.parse(value)
273
- when :String
274
- value.to_s
275
- when :Integer
276
- value.to_i
277
- when :Float
278
- value.to_f
279
- when :Boolean
280
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
281
- true
282
- else
283
- false
284
- end
285
- when :Object
286
- # generic object (usually a Hash), return directly
287
- value
288
- when /\AArray<(?<inner_type>.+)>\z/
289
- inner_type = Regexp.last_match[:inner_type]
290
- value.map { |v| _deserialize(inner_type, v) }
291
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
292
- k_type = Regexp.last_match[:k_type]
293
- v_type = Regexp.last_match[:v_type]
294
- {}.tap do |hash|
295
- value.each do |k, v|
296
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
297
- end
298
- end
299
- else # model
300
- # models (e.g. Pet) or oneOf
301
- klass = Freeclimb.const_get(type)
302
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
303
- end
304
- end
305
-
306
- # Returns the string representation of the object
307
- # @return [String] String presentation of the object
308
- def to_s
309
- to_hash.to_s
310
- end
311
-
312
- # to_body is an alias to to_hash (backward compatibility)
313
- # @return [Hash] Returns the object in the form of hash
314
- def to_body
315
- to_hash
316
- end
317
-
318
- # Returns the object in the form of hash
319
- # @return [Hash] Returns the object in the form of hash
320
- def to_hash
321
- hash = {}
322
- self.class.attribute_map.each_pair do |attr, param|
323
- value = self.send(attr)
324
- if value.nil?
325
- is_nullable = self.class.openapi_nullable.include?(attr)
326
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
327
- end
328
-
329
- hash[param] = _to_hash(value)
330
- end
331
- hash
332
- end
333
-
334
- # Outputs non-array value in the form of hash
335
- # For object, use to_hash. Otherwise, just return the value
336
- # @param [Object] value Any valid value
337
- # @return [Hash] Returns the value in the form of hash
338
- def _to_hash(value)
339
- if value.is_a?(Array)
340
- value.compact.map { |v| _to_hash(v) }
341
- elsif value.is_a?(Hash)
342
- {}.tap do |hash|
343
- value.each { |k, v| hash[k] = _to_hash(v) }
344
- end
345
- elsif value.respond_to? :to_hash
346
- value.to_hash
347
- else
348
- value
349
- end
350
- end
351
-
352
- end
353
-
354
- end