freeclimb 4.9.0 → 5.1.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 (442) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/Gemfile +2 -1
  4. data/Gemfile.lock +49 -27
  5. data/README.md +44 -51
  6. data/docs/AddToConferenceNotificationWebhook.md +42 -0
  7. data/docs/AddToQueueNotificationWebhook.md +34 -0
  8. data/docs/BargeInReason.md +18 -0
  9. data/docs/CallControlWebhook.md +26 -0
  10. data/docs/CallEndedReason.md +38 -0
  11. data/docs/CallStatusWebhook.md +36 -0
  12. data/docs/CompletionResult.md +1 -1
  13. data/docs/CompletionResultStatus.md +17 -0
  14. data/docs/ConferenceRecordingStatusWebhook.md +42 -0
  15. data/docs/ConferenceResult.md +1 -1
  16. data/docs/ConferenceStatusWebhook.md +42 -0
  17. data/docs/CreateConference.md +1 -1
  18. data/docs/CreateConferenceRequest.md +1 -1
  19. data/docs/CreateConferenceWebhook.md +42 -0
  20. data/docs/DequeueWebhook.md +38 -0
  21. data/docs/GetDigitsReason.md +19 -0
  22. data/docs/GetDigitsWebhook.md +40 -0
  23. data/docs/GetSpeechWebhook.md +50 -0
  24. data/docs/InboundCallWebhook.md +36 -0
  25. data/docs/LeaveConferenceWebhook.md +34 -0
  26. data/docs/MachineDetectedWebhook.md +38 -0
  27. data/docs/MachineType.md +2 -2
  28. data/docs/MessageDeliveryWebhook.md +36 -0
  29. data/docs/MessageResult.md +7 -1
  30. data/docs/MessageStatusWebhook.md +38 -0
  31. data/docs/OutDialApiConnectWebhook.md +36 -0
  32. data/docs/OutDialConnectWebhook.md +36 -0
  33. data/docs/OutDialStartWebhook.md +38 -0
  34. data/docs/QueueWaitWebhook.md +40 -0
  35. data/docs/RecordWebhook.md +50 -0
  36. data/docs/RedirectWebhook.md +36 -0
  37. data/docs/RemoveFromQueueNotificationWebhook.md +38 -0
  38. data/docs/SMSTenDLCBrand.md +6 -6
  39. data/docs/SMSTenDLCBrandAltBusinessIdType.md +19 -0
  40. data/docs/SMSTenDLCBrandEntityType.md +20 -0
  41. data/docs/SMSTenDLCBrandIdentityStatus.md +19 -0
  42. data/docs/SMSTenDLCBrandRelationship.md +20 -0
  43. data/docs/SMSTenDLCBrandStockExchange.md +42 -0
  44. data/docs/SMSTenDLCCampaign.md +1 -1
  45. data/docs/SMSTenDLCCampaignStatus.md +17 -0
  46. data/docs/SMSTenDLCPartnerCampaign.md +1 -1
  47. data/docs/SMSTenDLCPartnerCampaignStatus.md +17 -0
  48. data/docs/SMSTollFreeCampaign.md +1 -1
  49. data/docs/SMSTollFreeCampaignRegistrationStatus.md +20 -0
  50. data/docs/TFNCampaign.md +34 -0
  51. data/docs/TranscribeReason.md +20 -0
  52. data/docs/TranscribeTermReason.md +17 -0
  53. data/docs/TranscribeUtterance.md +2 -2
  54. data/docs/TranscribeWebhook.md +62 -0
  55. data/docs/UpdateConferenceRequest.md +1 -1
  56. data/docs/Webhook.md +18 -0
  57. data/freeclimb.gemspec +1 -1
  58. data/lib/freeclimb/api/default_api.rb +18 -18
  59. data/lib/freeclimb/api_client.rb +1 -1
  60. data/lib/freeclimb/api_error.rb +1 -1
  61. data/lib/freeclimb/configuration.rb +2 -4
  62. data/lib/freeclimb/models/account_request.rb +1 -3
  63. data/lib/freeclimb/models/account_result.rb +23 -4
  64. data/lib/freeclimb/models/account_status.rb +1 -1
  65. data/lib/freeclimb/models/account_type.rb +1 -1
  66. data/lib/freeclimb/models/add_to_conference.rb +1 -4
  67. data/lib/freeclimb/models/add_to_conference_notification_webhook.rb +384 -0
  68. data/lib/freeclimb/models/{conference_participant_result_all_of.rb → add_to_queue_notification_webhook.rb} +112 -59
  69. data/lib/freeclimb/models/answered_by.rb +1 -1
  70. data/lib/freeclimb/models/application_list.rb +1 -4
  71. data/lib/freeclimb/models/application_request.rb +1 -3
  72. data/lib/freeclimb/models/application_result.rb +1 -4
  73. data/lib/freeclimb/models/available_number.rb +1 -3
  74. data/lib/freeclimb/models/available_number_list.rb +1 -4
  75. data/lib/freeclimb/models/barge_in_reason.rb +38 -0
  76. data/lib/freeclimb/models/buy_incoming_number_request.rb +1 -3
  77. data/lib/freeclimb/models/{recording_result_all_of.rb → call_control_webhook.rb} +57 -45
  78. data/lib/freeclimb/models/call_direction.rb +1 -1
  79. data/lib/freeclimb/models/call_ended_reason.rb +58 -0
  80. data/lib/freeclimb/models/call_list.rb +1 -4
  81. data/lib/freeclimb/models/call_result.rb +23 -4
  82. data/lib/freeclimb/models/call_status.rb +1 -1
  83. data/lib/freeclimb/models/call_status_webhook.rb +354 -0
  84. data/lib/freeclimb/models/capabilities.rb +1 -3
  85. data/lib/freeclimb/models/completion_request.rb +1 -3
  86. data/lib/freeclimb/models/completion_result.rb +2 -15
  87. data/lib/freeclimb/models/completion_result_status.rb +37 -0
  88. data/lib/freeclimb/models/conference_list.rb +1 -4
  89. data/lib/freeclimb/models/conference_participant_list.rb +1 -4
  90. data/lib/freeclimb/models/conference_participant_result.rb +1 -4
  91. data/lib/freeclimb/models/conference_recording_status_webhook.rb +384 -0
  92. data/lib/freeclimb/models/conference_result.rb +23 -6
  93. data/lib/freeclimb/models/conference_status.rb +1 -1
  94. data/lib/freeclimb/models/conference_status_webhook.rb +387 -0
  95. data/lib/freeclimb/models/create_conference.rb +23 -6
  96. data/lib/freeclimb/models/create_conference_request.rb +23 -5
  97. data/lib/freeclimb/models/create_conference_webhook.rb +387 -0
  98. data/lib/freeclimb/models/create_web_rtc_token.rb +1 -3
  99. data/lib/freeclimb/models/dequeue.rb +3 -7
  100. data/lib/freeclimb/models/dequeue_webhook.rb +365 -0
  101. data/lib/freeclimb/models/enqueue.rb +1 -4
  102. data/lib/freeclimb/models/filter_logs_request.rb +1 -3
  103. data/lib/freeclimb/models/get_digits.rb +1 -4
  104. data/lib/freeclimb/models/get_digits_reason.rb +39 -0
  105. data/lib/freeclimb/models/get_digits_webhook.rb +373 -0
  106. data/lib/freeclimb/models/get_speech.rb +23 -4
  107. data/lib/freeclimb/models/get_speech_reason.rb +1 -1
  108. data/lib/freeclimb/models/get_speech_webhook.rb +423 -0
  109. data/lib/freeclimb/models/grammar_file_built_in.rb +1 -1
  110. data/lib/freeclimb/models/grammar_type.rb +1 -1
  111. data/lib/freeclimb/models/hangup.rb +1 -4
  112. data/lib/freeclimb/models/if_machine.rb +1 -1
  113. data/lib/freeclimb/models/inbound_call_webhook.rb +355 -0
  114. data/lib/freeclimb/models/incoming_number_list.rb +1 -4
  115. data/lib/freeclimb/models/incoming_number_request.rb +1 -3
  116. data/lib/freeclimb/models/incoming_number_result.rb +1 -4
  117. data/lib/freeclimb/models/language.rb +1 -1
  118. data/lib/freeclimb/models/{conference_result_all_of.rb → leave_conference_webhook.rb} +110 -89
  119. data/lib/freeclimb/models/log_level.rb +1 -1
  120. data/lib/freeclimb/models/log_list.rb +1 -4
  121. data/lib/freeclimb/models/log_result.rb +23 -3
  122. data/lib/freeclimb/models/{call_result_all_of.rb → machine_detected_webhook.rb} +96 -119
  123. data/lib/freeclimb/models/machine_type.rb +3 -3
  124. data/lib/freeclimb/models/make_call_request.rb +1 -3
  125. data/lib/freeclimb/models/{message_result_all_of.rb → message_delivery_webhook.rb} +71 -87
  126. data/lib/freeclimb/models/message_direction.rb +1 -1
  127. data/lib/freeclimb/models/message_request.rb +1 -4
  128. data/lib/freeclimb/models/message_result.rb +59 -9
  129. data/lib/freeclimb/models/message_status.rb +1 -1
  130. data/lib/freeclimb/models/{incoming_number_result_all_of.rb → message_status_webhook.rb} +117 -107
  131. data/lib/freeclimb/models/messages_list.rb +1 -4
  132. data/lib/freeclimb/models/mutable_resource_model.rb +1 -3
  133. data/lib/freeclimb/models/out_dial.rb +23 -4
  134. data/lib/freeclimb/models/out_dial_api_connect_webhook.rb +355 -0
  135. data/lib/freeclimb/models/out_dial_connect_webhook.rb +355 -0
  136. data/lib/freeclimb/models/out_dial_start_webhook.rb +366 -0
  137. data/lib/freeclimb/models/pagination_model.rb +1 -3
  138. data/lib/freeclimb/models/park.rb +1 -4
  139. data/lib/freeclimb/models/pause.rb +1 -4
  140. data/lib/freeclimb/models/percl_command.rb +3 -5
  141. data/lib/freeclimb/models/percl_script.rb +2 -4
  142. data/lib/freeclimb/models/play.rb +2 -5
  143. data/lib/freeclimb/models/play_beep.rb +1 -1
  144. data/lib/freeclimb/models/play_early_media.rb +2 -5
  145. data/lib/freeclimb/models/queue_list.rb +2 -5
  146. data/lib/freeclimb/models/queue_member.rb +1 -3
  147. data/lib/freeclimb/models/queue_member_list.rb +2 -5
  148. data/lib/freeclimb/models/queue_request.rb +1 -3
  149. data/lib/freeclimb/models/queue_result.rb +2 -5
  150. data/lib/freeclimb/models/queue_result_status.rb +1 -1
  151. data/lib/freeclimb/models/queue_wait_webhook.rb +375 -0
  152. data/lib/freeclimb/models/record_utterance.rb +2 -5
  153. data/lib/freeclimb/models/record_utterance_term_reason.rb +1 -1
  154. data/lib/freeclimb/models/record_webhook.rb +424 -0
  155. data/lib/freeclimb/models/recording_list.rb +2 -5
  156. data/lib/freeclimb/models/recording_result.rb +2 -5
  157. data/lib/freeclimb/models/redirect.rb +2 -5
  158. data/lib/freeclimb/models/redirect_webhook.rb +355 -0
  159. data/lib/freeclimb/models/reject.rb +2 -5
  160. data/lib/freeclimb/models/remove_from_conference.rb +3 -7
  161. data/lib/freeclimb/models/remove_from_queue_notification_webhook.rb +364 -0
  162. data/lib/freeclimb/models/request_type.rb +1 -1
  163. data/lib/freeclimb/models/say.rb +2 -5
  164. data/lib/freeclimb/models/send_digits.rb +2 -5
  165. data/lib/freeclimb/models/set_dtmf_pass_through.rb +2 -5
  166. data/lib/freeclimb/models/set_listen.rb +2 -5
  167. data/lib/freeclimb/models/set_talk.rb +2 -5
  168. data/lib/freeclimb/models/sms.rb +2 -5
  169. data/lib/freeclimb/models/sms_ten_dlc_brand.rb +6 -67
  170. data/lib/freeclimb/models/sms_ten_dlc_brand_alt_business_id_type.rb +39 -0
  171. data/lib/freeclimb/models/sms_ten_dlc_brand_entity_type.rb +40 -0
  172. data/lib/freeclimb/models/sms_ten_dlc_brand_identity_status.rb +39 -0
  173. data/lib/freeclimb/models/sms_ten_dlc_brand_relationship.rb +40 -0
  174. data/lib/freeclimb/models/sms_ten_dlc_brand_stock_exchange.rb +62 -0
  175. data/lib/freeclimb/models/sms_ten_dlc_brands_list_result.rb +2 -5
  176. data/lib/freeclimb/models/sms_ten_dlc_campaign.rb +2 -15
  177. data/lib/freeclimb/models/sms_ten_dlc_campaign_status.rb +37 -0
  178. data/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result.rb +2 -5
  179. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign.rb +2 -15
  180. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_brand.rb +1 -3
  181. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_status.rb +37 -0
  182. data/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result.rb +2 -5
  183. data/lib/freeclimb/models/sms_toll_free_campaign.rb +2 -15
  184. data/lib/freeclimb/models/sms_toll_free_campaign_registration_status.rb +40 -0
  185. data/lib/freeclimb/models/sms_toll_free_campaigns_list_result.rb +2 -5
  186. data/lib/freeclimb/models/start_record_call.rb +3 -7
  187. data/lib/freeclimb/models/terminate_conference.rb +3 -7
  188. data/lib/freeclimb/models/tfn.rb +1 -3
  189. data/lib/freeclimb/models/{application_result_all_of.rb → tfn_campaign.rb} +129 -72
  190. data/lib/freeclimb/models/transcribe_reason.rb +40 -0
  191. data/lib/freeclimb/models/transcribe_term_reason.rb +37 -0
  192. data/lib/freeclimb/models/transcribe_utterance.rb +4 -7
  193. data/lib/freeclimb/models/{transcribe_utterance_all_of_record.rb → transcribe_utterance_record.rb} +8 -10
  194. data/lib/freeclimb/models/transcribe_webhook.rb +481 -0
  195. data/lib/freeclimb/models/unpark.rb +3 -7
  196. data/lib/freeclimb/models/update_call_request.rb +23 -3
  197. data/lib/freeclimb/models/update_call_request_status.rb +1 -1
  198. data/lib/freeclimb/models/update_conference_participant_request.rb +1 -3
  199. data/lib/freeclimb/models/update_conference_request.rb +23 -5
  200. data/lib/freeclimb/models/update_conference_request_status.rb +1 -1
  201. data/lib/freeclimb/models/{call_list_all_of.rb → webhook.rb} +18 -17
  202. data/lib/freeclimb/utils/request_verifier.rb +51 -51
  203. data/lib/freeclimb/utils/signature_information.rb +34 -34
  204. data/lib/freeclimb/version.rb +2 -2
  205. data/lib/freeclimb.rb +42 -49
  206. data/openapi.json +1756 -648
  207. data/package.json +3 -1
  208. data/spec/api/default_api_spec.rb +97 -149
  209. data/spec/factories.rb +78 -78
  210. data/spec/models/account_request_spec.rb +168 -19
  211. data/spec/models/account_result_spec.rb +878 -91
  212. data/spec/models/account_status_spec.rb +2 -1
  213. data/spec/models/account_type_spec.rb +2 -1
  214. data/spec/models/add_to_conference_notification_webhook_spec.rb +1515 -0
  215. data/spec/models/add_to_conference_spec.rb +725 -43
  216. data/spec/models/add_to_queue_notification_webhook_spec.rb +1106 -0
  217. data/spec/models/answered_by_spec.rb +2 -1
  218. data/spec/models/application_list_spec.rb +504 -41
  219. data/spec/models/application_request_spec.rb +553 -34
  220. data/spec/models/application_result_spec.rb +997 -52
  221. data/spec/models/available_number_list_spec.rb +504 -41
  222. data/spec/models/available_number_spec.rb +536 -49
  223. data/spec/models/barge_in_reason_spec.rb +78 -0
  224. data/spec/models/buy_incoming_number_request_spec.rb +245 -22
  225. data/spec/models/call_control_webhook_spec.rb +664 -0
  226. data/spec/models/call_direction_spec.rb +2 -1
  227. data/spec/models/call_ended_reason_spec.rb +398 -0
  228. data/spec/models/call_list_spec.rb +504 -41
  229. data/spec/models/call_result_spec.rb +1712 -272
  230. data/spec/models/call_status_spec.rb +2 -1
  231. data/spec/models/call_status_webhook_spec.rb +1292 -0
  232. data/spec/models/capabilities_spec.rb +309 -28
  233. data/spec/models/completion_request_spec.rb +89 -17
  234. data/spec/models/completion_result_spec.rb +184 -47
  235. data/spec/models/completion_result_status_spec.rb +62 -0
  236. data/spec/models/conference_list_spec.rb +504 -41
  237. data/spec/models/conference_participant_list_spec.rb +504 -41
  238. data/spec/models/conference_participant_result_spec.rb +804 -48
  239. data/spec/models/conference_recording_status_webhook_spec.rb +1515 -0
  240. data/spec/models/conference_result_spec.rb +1215 -224
  241. data/spec/models/conference_status_spec.rb +2 -1
  242. data/spec/models/conference_status_webhook_spec.rb +1515 -0
  243. data/spec/models/create_conference_request_spec.rb +391 -46
  244. data/spec/models/create_conference_spec.rb +450 -49
  245. data/spec/models/create_conference_webhook_spec.rb +1515 -0
  246. data/spec/models/create_web_rtc_token_spec.rb +227 -22
  247. data/spec/models/dequeue_spec.rb +2 -1
  248. data/spec/models/dequeue_webhook_spec.rb +1300 -0
  249. data/spec/models/enqueue_spec.rb +322 -25
  250. data/spec/models/filter_logs_request_spec.rb +91 -16
  251. data/spec/models/get_digits_reason_spec.rb +94 -0
  252. data/spec/models/get_digits_spec.rb +581 -44
  253. data/spec/models/get_digits_webhook_spec.rb +1426 -0
  254. data/spec/models/get_speech_reason_spec.rb +2 -1
  255. data/spec/models/get_speech_spec.rb +856 -69
  256. data/spec/models/get_speech_webhook_spec.rb +1927 -0
  257. data/spec/models/grammar_file_built_in_spec.rb +2 -1
  258. data/spec/models/grammar_type_spec.rb +2 -1
  259. data/spec/models/hangup_spec.rb +91 -16
  260. data/spec/models/if_machine_spec.rb +2 -1
  261. data/spec/models/inbound_call_webhook_spec.rb +1211 -0
  262. data/spec/models/incoming_number_list_spec.rb +504 -41
  263. data/spec/models/incoming_number_request_spec.rb +245 -22
  264. data/spec/models/incoming_number_result_spec.rb +1430 -235
  265. data/spec/models/language_spec.rb +2 -1
  266. data/spec/models/leave_conference_webhook_spec.rb +1106 -0
  267. data/spec/models/log_level_spec.rb +2 -1
  268. data/spec/models/log_list_spec.rb +504 -41
  269. data/spec/models/log_result_spec.rb +556 -57
  270. data/spec/models/machine_detected_webhook_spec.rb +1313 -0
  271. data/spec/models/machine_type_spec.rb +11 -10
  272. data/spec/models/make_call_request_spec.rb +749 -44
  273. data/spec/models/message_delivery_webhook_spec.rb +1189 -0
  274. data/spec/models/message_direction_spec.rb +2 -1
  275. data/spec/models/message_request_spec.rb +672 -41
  276. data/spec/models/message_result_spec.rb +1644 -204
  277. data/spec/models/message_status_spec.rb +2 -1
  278. data/spec/models/message_status_webhook_spec.rb +1327 -0
  279. data/spec/models/messages_list_spec.rb +504 -41
  280. data/spec/models/mutable_resource_model_spec.rb +304 -25
  281. data/spec/models/out_dial_api_connect_webhook_spec.rb +1211 -0
  282. data/spec/models/out_dial_connect_webhook_spec.rb +1211 -0
  283. data/spec/models/out_dial_spec.rb +759 -62
  284. data/spec/models/out_dial_start_webhook_spec.rb +1316 -0
  285. data/spec/models/pagination_model_spec.rb +445 -34
  286. data/spec/models/park_spec.rb +245 -22
  287. data/spec/models/pause_spec.rb +73 -16
  288. data/spec/models/percl_command_spec.rb +88 -16
  289. data/spec/models/percl_script_spec.rb +73 -20
  290. data/spec/models/play_beep_spec.rb +2 -1
  291. data/spec/models/play_early_media_spec.rb +91 -16
  292. data/spec/models/play_spec.rb +209 -22
  293. data/spec/models/queue_list_spec.rb +504 -41
  294. data/spec/models/queue_member_list_spec.rb +504 -41
  295. data/spec/models/queue_member_spec.rb +363 -28
  296. data/spec/models/queue_request_spec.rb +150 -19
  297. data/spec/models/queue_result_spec.rb +801 -52
  298. data/spec/models/queue_result_status_spec.rb +2 -1
  299. data/spec/models/queue_wait_webhook_spec.rb +1389 -0
  300. data/spec/models/record_utterance_spec.rb +463 -34
  301. data/spec/models/record_utterance_term_reason_spec.rb +2 -1
  302. data/spec/models/record_webhook_spec.rb +1917 -0
  303. data/spec/models/recording_list_spec.rb +504 -41
  304. data/spec/models/recording_result_spec.rb +672 -41
  305. data/spec/models/redirect_spec.rb +91 -16
  306. data/spec/models/redirect_webhook_spec.rb +1211 -0
  307. data/spec/models/reject_spec.rb +91 -16
  308. data/spec/models/remove_from_conference_spec.rb +2 -1
  309. data/spec/models/remove_from_queue_notification_webhook_spec.rb +1305 -0
  310. data/spec/models/request_type_spec.rb +2 -1
  311. data/spec/models/say_spec.rb +286 -25
  312. data/spec/models/send_digits_spec.rb +209 -22
  313. data/spec/models/set_dtmf_pass_through_spec.rb +73 -16
  314. data/spec/models/set_listen_spec.rb +73 -16
  315. data/spec/models/set_talk_spec.rb +73 -16
  316. data/spec/models/sms_spec.rb +322 -25
  317. data/spec/models/sms_ten_dlc_brand_alt_business_id_type_spec.rb +94 -0
  318. data/spec/models/sms_ten_dlc_brand_entity_type_spec.rb +110 -0
  319. data/spec/models/sms_ten_dlc_brand_identity_status_spec.rb +94 -0
  320. data/spec/models/sms_ten_dlc_brand_relationship_spec.rb +110 -0
  321. data/spec/models/sms_ten_dlc_brand_spec.rb +2585 -484
  322. data/spec/models/sms_ten_dlc_brand_stock_exchange_spec.rb +462 -0
  323. data/spec/models/sms_ten_dlc_brands_list_result_spec.rb +504 -41
  324. data/spec/models/sms_ten_dlc_campaign_spec.rb +2604 -274
  325. data/spec/models/sms_ten_dlc_campaign_status_spec.rb +62 -0
  326. data/spec/models/sms_ten_dlc_campaigns_list_result_spec.rb +504 -41
  327. data/spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb +835 -55
  328. data/spec/models/sms_ten_dlc_partner_campaign_spec.rb +2078 -166
  329. data/spec/models/sms_ten_dlc_partner_campaign_status_spec.rb +62 -0
  330. data/spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb +504 -41
  331. data/spec/models/sms_toll_free_campaign_registration_status_spec.rb +110 -0
  332. data/spec/models/sms_toll_free_campaign_spec.rb +555 -71
  333. data/spec/models/sms_toll_free_campaigns_list_result_spec.rb +504 -41
  334. data/spec/models/start_record_call_spec.rb +2 -1
  335. data/spec/models/terminate_conference_spec.rb +2 -1
  336. data/spec/models/tfn_campaign_spec.rb +1089 -0
  337. data/spec/models/tfn_spec.rb +91 -16
  338. data/spec/models/transcribe_reason_spec.rb +110 -0
  339. data/spec/models/transcribe_term_reason_spec.rb +62 -0
  340. data/spec/models/{transcribe_utterance_all_of_record_spec.rb → transcribe_utterance_record_spec.rb} +214 -45
  341. data/spec/models/transcribe_utterance_spec.rb +424 -47
  342. data/spec/models/transcribe_webhook_spec.rb +2418 -0
  343. data/spec/models/unpark_spec.rb +2 -1
  344. data/spec/models/update_call_request_spec.rb +101 -34
  345. data/spec/models/update_call_request_status_spec.rb +2 -1
  346. data/spec/models/update_conference_participant_request_spec.rb +219 -19
  347. data/spec/models/update_conference_request_spec.rb +265 -58
  348. data/spec/models/update_conference_request_status_spec.rb +2 -1
  349. data/spec/models/webhook_spec.rb +228 -0
  350. data/spec/quickstart_spec.rb +7 -7
  351. data/spec/spec_helper.rb +1 -1
  352. data/spec/utils/request_verifier_spec.rb +123 -123
  353. data/spec/utils/signature_information_spec.rb +36 -36
  354. data/yarn.lock +91 -91
  355. metadata +247 -186
  356. data/docs/AccountResultAllOf.md +0 -30
  357. data/docs/AddToConferenceAllOf.md +0 -36
  358. data/docs/ApplicationListAllOf.md +0 -18
  359. data/docs/ApplicationResultAllOf.md +0 -34
  360. data/docs/AvailableNumberListAllOf.md +0 -18
  361. data/docs/CallListAllOf.md +0 -18
  362. data/docs/CallResultAllOf.md +0 -48
  363. data/docs/ConferenceListAllOf.md +0 -18
  364. data/docs/ConferenceParticipantListAllOf.md +0 -18
  365. data/docs/ConferenceParticipantResultAllOf.md +0 -30
  366. data/docs/ConferenceResultAllOf.md +0 -36
  367. data/docs/CreateConferenceAllOf.md +0 -28
  368. data/docs/EnqueueAllOf.md +0 -24
  369. data/docs/GetDigitsAllOf.md +0 -34
  370. data/docs/GetSpeechAllOf.md +0 -42
  371. data/docs/HangupAllOf.md +0 -18
  372. data/docs/IncomingNumberListAllOf.md +0 -18
  373. data/docs/IncomingNumberResultAllOf.md +0 -42
  374. data/docs/LogListAllOf.md +0 -18
  375. data/docs/MessageRequestAllOf.md +0 -26
  376. data/docs/MessageResultAllOf.md +0 -40
  377. data/docs/MessagesListAllOf.md +0 -18
  378. data/docs/OutDialAllOf.md +0 -36
  379. data/docs/ParkAllOf.md +0 -22
  380. data/docs/PauseAllOf.md +0 -18
  381. data/docs/PlayAllOf.md +0 -22
  382. data/docs/PlayEarlyMediaAllOf.md +0 -18
  383. data/docs/QueueListAllOf.md +0 -18
  384. data/docs/QueueMemberListAllOf.md +0 -18
  385. data/docs/QueueResultAllOf.md +0 -30
  386. data/docs/RecordUtteranceAllOf.md +0 -30
  387. data/docs/RecordingListAllOf.md +0 -18
  388. data/docs/RecordingResultAllOf.md +0 -26
  389. data/docs/RedirectAllOf.md +0 -18
  390. data/docs/RejectAllOf.md +0 -18
  391. data/docs/RemoveFromConferenceAllOf.md +0 -18
  392. data/docs/SMSTenDLCBrandsListResultAllOf.md +0 -18
  393. data/docs/SMSTenDLCCampaignsListResultAllOf.md +0 -18
  394. data/docs/SMSTenDLCPartnerCampaignsListResultAllOf.md +0 -18
  395. data/docs/SMSTollFreeCampaignsListResultAllOf.md +0 -18
  396. data/docs/SayAllOf.md +0 -24
  397. data/docs/SendDigitsAllOf.md +0 -22
  398. data/docs/SetDTMFPassThroughAllOf.md +0 -18
  399. data/docs/SetListenAllOf.md +0 -18
  400. data/docs/SetTalkAllOf.md +0 -18
  401. data/docs/SmsAllOf.md +0 -24
  402. data/docs/TerminateConferenceAllOf.md +0 -18
  403. data/docs/TranscribeUtteranceAllOf.md +0 -28
  404. data/docs/TranscribeUtteranceAllOfRecord.md +0 -22
  405. data/lib/freeclimb/models/account_result_all_of.rb +0 -289
  406. data/lib/freeclimb/models/add_to_conference_all_of.rb +0 -318
  407. data/lib/freeclimb/models/application_list_all_of.rb +0 -226
  408. data/lib/freeclimb/models/available_number_list_all_of.rb +0 -226
  409. data/lib/freeclimb/models/conference_list_all_of.rb +0 -226
  410. data/lib/freeclimb/models/conference_participant_list_all_of.rb +0 -226
  411. data/lib/freeclimb/models/create_conference_all_of.rb +0 -280
  412. data/lib/freeclimb/models/enqueue_all_of.rb +0 -266
  413. data/lib/freeclimb/models/get_digits_all_of.rb +0 -310
  414. data/lib/freeclimb/models/get_speech_all_of.rb +0 -354
  415. data/lib/freeclimb/models/hangup_all_of.rb +0 -224
  416. data/lib/freeclimb/models/incoming_number_list_all_of.rb +0 -226
  417. data/lib/freeclimb/models/log_list_all_of.rb +0 -226
  418. data/lib/freeclimb/models/message_request_all_of.rb +0 -279
  419. data/lib/freeclimb/models/messages_list_all_of.rb +0 -227
  420. data/lib/freeclimb/models/out_dial_all_of.rb +0 -329
  421. data/lib/freeclimb/models/park_all_of.rb +0 -252
  422. data/lib/freeclimb/models/pause_all_of.rb +0 -228
  423. data/lib/freeclimb/models/play_all_of.rb +0 -248
  424. data/lib/freeclimb/models/play_early_media_all_of.rb +0 -228
  425. data/lib/freeclimb/models/queue_list_all_of.rb +0 -226
  426. data/lib/freeclimb/models/queue_member_list_all_of.rb +0 -226
  427. data/lib/freeclimb/models/queue_result_all_of.rb +0 -291
  428. data/lib/freeclimb/models/record_utterance_all_of.rb +0 -288
  429. data/lib/freeclimb/models/recording_list_all_of.rb +0 -226
  430. data/lib/freeclimb/models/redirect_all_of.rb +0 -228
  431. data/lib/freeclimb/models/reject_all_of.rb +0 -224
  432. data/lib/freeclimb/models/say_all_of.rb +0 -260
  433. data/lib/freeclimb/models/send_digits_all_of.rb +0 -248
  434. data/lib/freeclimb/models/set_dtmf_pass_through_all_of.rb +0 -224
  435. data/lib/freeclimb/models/set_listen_all_of.rb +0 -224
  436. data/lib/freeclimb/models/set_talk_all_of.rb +0 -224
  437. data/lib/freeclimb/models/sms_all_of.rb +0 -266
  438. data/lib/freeclimb/models/sms_ten_dlc_brands_list_result_all_of.rb +0 -226
  439. data/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result_all_of.rb +0 -226
  440. data/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result_all_of.rb +0 -226
  441. data/lib/freeclimb/models/sms_toll_free_campaigns_list_result_all_of.rb +0 -226
  442. data/lib/freeclimb/models/transcribe_utterance_all_of.rb +0 -281
@@ -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
@@ -1,224 +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 HangupAllOf
18
- # The user defined reason for the hangup. In general, applications should use a set of enumerated values that are predefined to cover all exit points of the Call flows for the given application.
19
- attr_accessor :reason
20
-
21
- # Attribute mapping from ruby-style variable name to JSON key.
22
- def self.attribute_map
23
- {
24
- :'reason' => :'reason'
25
- }
26
- end
27
-
28
- # Returns all the JSON keys this model knows about
29
- def self.acceptable_attributes
30
- attribute_map.values
31
- end
32
-
33
- # Attribute type mapping.
34
- def self.openapi_types
35
- {
36
- :'reason' => :'String'
37
- }
38
- end
39
-
40
- # List of attributes with nullable: true
41
- def self.openapi_nullable
42
- Set.new([
43
- ])
44
- end
45
-
46
- # Initializes the object
47
- # @param [Hash] attributes Model attributes in the form of hash
48
- def initialize(attributes = {})
49
- if (!attributes.is_a?(Hash))
50
- fail ArgumentError, "The input argument (attributes) must be a hash in `Freeclimb::HangupAllOf` initialize method"
51
- end
52
-
53
- # check to see if the attribute exists and convert string to symbol for hash key
54
- attributes = attributes.each_with_object({}) { |(k, v), h|
55
- if (!self.class.attribute_map.key?(k.to_sym))
56
- fail ArgumentError, "`#{k}` is not a valid attribute in `Freeclimb::HangupAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
- end
58
- h[k.to_sym] = v
59
- }
60
-
61
- if attributes.key?(:'reason')
62
- self.reason = attributes[:'reason']
63
- end
64
- end
65
-
66
- # Show invalid properties with the reasons. Usually used together with valid?
67
- # @return Array for valid properties with the reasons
68
- def list_invalid_properties
69
- invalid_properties = Array.new
70
- invalid_properties
71
- end
72
-
73
- # Check to see if the all the properties in the model are valid
74
- # @return true if the model is valid
75
- def valid?
76
-
77
- if @reason.nil?
78
- false
79
- else
80
- list_invalid_properties.length() == 0
81
- end
82
- end
83
-
84
- # Checks equality by comparing each attribute.
85
- # @param [Object] Object to be compared
86
- def ==(o)
87
- return true if self.equal?(o)
88
- self.class == o.class &&
89
- reason == o.reason
90
- end
91
-
92
- # @see the `==` method
93
- # @param [Object] Object to be compared
94
- def eql?(o)
95
- self == o
96
- end
97
-
98
- # Calculates hash code according to all attributes.
99
- # @return [Integer] Hash code
100
- def hash
101
- [reason].hash
102
- end
103
-
104
- # Builds the object from hash
105
- # @param [Hash] attributes Model attributes in the form of hash
106
- # @return [Object] Returns the model itself
107
- def self.build_from_hash(attributes)
108
- new.build_from_hash(attributes)
109
- end
110
-
111
- # Builds the object from hash
112
- # @param [Hash] attributes Model attributes in the form of hash
113
- # @return [Object] Returns the model itself
114
- def build_from_hash(attributes)
115
- return nil unless attributes.is_a?(Hash)
116
- self.class.openapi_types.each_pair do |key, type|
117
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
118
- self.send("#{key}=", nil)
119
- elsif type =~ /\AArray<(.*)>/i
120
- # check to ensure the input is an array given that the attribute
121
- # is documented as an array but the input is not
122
- if attributes[self.class.attribute_map[key]].is_a?(Array)
123
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
124
- end
125
- elsif !attributes[self.class.attribute_map[key]].nil?
126
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
127
- end
128
- end
129
-
130
- self
131
- end
132
-
133
- # Deserializes the data based on type
134
- # @param string type Data type
135
- # @param string value Value to be deserialized
136
- # @return [Object] Deserialized data
137
- def _deserialize(type, value)
138
- case type.to_sym
139
- when :Time
140
- Time.parse(value)
141
- when :Date
142
- Date.parse(value)
143
- when :String
144
- value.to_s
145
- when :Integer
146
- value.to_i
147
- when :Float
148
- value.to_f
149
- when :Boolean
150
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
151
- true
152
- else
153
- false
154
- end
155
- when :Object
156
- # generic object (usually a Hash), return directly
157
- value
158
- when /\AArray<(?<inner_type>.+)>\z/
159
- inner_type = Regexp.last_match[:inner_type]
160
- value.map { |v| _deserialize(inner_type, v) }
161
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
162
- k_type = Regexp.last_match[:k_type]
163
- v_type = Regexp.last_match[:v_type]
164
- {}.tap do |hash|
165
- value.each do |k, v|
166
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
167
- end
168
- end
169
- else # model
170
- # models (e.g. Pet) or oneOf
171
- klass = Freeclimb.const_get(type)
172
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
173
- end
174
- end
175
-
176
- # Returns the string representation of the object
177
- # @return [String] String presentation of the object
178
- def to_s
179
- to_hash.to_s
180
- end
181
-
182
- # to_body is an alias to to_hash (backward compatibility)
183
- # @return [Hash] Returns the object in the form of hash
184
- def to_body
185
- to_hash
186
- end
187
-
188
- # Returns the object in the form of hash
189
- # @return [Hash] Returns the object in the form of hash
190
- def to_hash
191
- hash = {}
192
- self.class.attribute_map.each_pair do |attr, param|
193
- value = self.send(attr)
194
- if value.nil?
195
- is_nullable = self.class.openapi_nullable.include?(attr)
196
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
197
- end
198
-
199
- hash[param] = _to_hash(value)
200
- end
201
- hash
202
- end
203
-
204
- # Outputs non-array value in the form of hash
205
- # For object, use to_hash. Otherwise, just return the value
206
- # @param [Object] value Any valid value
207
- # @return [Hash] Returns the value in the form of hash
208
- def _to_hash(value)
209
- if value.is_a?(Array)
210
- value.compact.map { |v| _to_hash(v) }
211
- elsif value.is_a?(Hash)
212
- {}.tap do |hash|
213
- value.each { |k, v| hash[k] = _to_hash(v) }
214
- end
215
- elsif value.respond_to? :to_hash
216
- value.to_hash
217
- else
218
- value
219
- end
220
- end
221
-
222
- end
223
-
224
- end