freeclimb 5.1.0 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/Gemfile +4 -5
  4. data/Gemfile.lock +20 -7
  5. data/README.md +17 -4
  6. data/Rakefile +1 -1
  7. data/docs/CallResult.md +2 -2
  8. data/docs/CreateConference.md +4 -2
  9. data/docs/CreateConferenceRequest.md +1 -1
  10. data/docs/DefaultApi.md +369 -2
  11. data/docs/ExportList.md +32 -0
  12. data/docs/ExportOutputType.md +16 -0
  13. data/docs/ExportRequest.md +24 -0
  14. data/docs/ExportRequestOutput.md +18 -0
  15. data/docs/ExportResourceType.md +17 -0
  16. data/docs/ExportResult.md +40 -0
  17. data/docs/ExportResultOutput.md +18 -0
  18. data/docs/ExportStatus.md +21 -0
  19. data/freeclimb.gemspec +21 -26
  20. data/lib/freeclimb/api/default_api.rb +1191 -878
  21. data/lib/freeclimb/api_client.rb +78 -83
  22. data/lib/freeclimb/api_error.rb +17 -19
  23. data/lib/freeclimb/configuration.rb +27 -29
  24. data/lib/freeclimb/models/account_request.rb +36 -41
  25. data/lib/freeclimb/models/account_result.rb +88 -92
  26. data/lib/freeclimb/models/account_status.rb +12 -14
  27. data/lib/freeclimb/models/account_type.rb +12 -14
  28. data/lib/freeclimb/models/add_to_conference.rb +81 -85
  29. data/lib/freeclimb/models/add_to_conference_notification_webhook.rb +99 -103
  30. data/lib/freeclimb/models/add_to_queue_notification_webhook.rb +78 -82
  31. data/lib/freeclimb/models/answered_by.rb +12 -14
  32. data/lib/freeclimb/models/application_list.rb +74 -78
  33. data/lib/freeclimb/models/application_request.rb +66 -70
  34. data/lib/freeclimb/models/application_result.rb +100 -104
  35. data/lib/freeclimb/models/available_number.rb +66 -70
  36. data/lib/freeclimb/models/available_number_list.rb +74 -78
  37. data/lib/freeclimb/models/barge_in_reason.rb +12 -14
  38. data/lib/freeclimb/models/buy_incoming_number_request.rb +41 -45
  39. data/lib/freeclimb/models/call_control_webhook.rb +56 -61
  40. data/lib/freeclimb/models/call_direction.rb +12 -14
  41. data/lib/freeclimb/models/call_ended_reason.rb +12 -14
  42. data/lib/freeclimb/models/call_list.rb +74 -78
  43. data/lib/freeclimb/models/call_result.rb +144 -148
  44. data/lib/freeclimb/models/call_status.rb +12 -14
  45. data/lib/freeclimb/models/call_status_webhook.rb +84 -88
  46. data/lib/freeclimb/models/capabilities.rb +55 -59
  47. data/lib/freeclimb/models/completion_request.rb +32 -36
  48. data/lib/freeclimb/models/completion_result.rb +36 -40
  49. data/lib/freeclimb/models/completion_result_status.rb +12 -14
  50. data/lib/freeclimb/models/conference_list.rb +74 -78
  51. data/lib/freeclimb/models/conference_participant_list.rb +74 -78
  52. data/lib/freeclimb/models/conference_participant_result.rb +88 -92
  53. data/lib/freeclimb/models/conference_recording_status_webhook.rb +99 -103
  54. data/lib/freeclimb/models/conference_result.rb +106 -110
  55. data/lib/freeclimb/models/conference_status.rb +12 -14
  56. data/lib/freeclimb/models/conference_status_webhook.rb +102 -106
  57. data/lib/freeclimb/models/create_conference.rb +71 -64
  58. data/lib/freeclimb/models/create_conference_request.rb +55 -54
  59. data/lib/freeclimb/models/create_conference_webhook.rb +102 -106
  60. data/lib/freeclimb/models/create_web_rtc_token.rb +42 -46
  61. data/lib/freeclimb/models/dequeue.rb +28 -33
  62. data/lib/freeclimb/models/dequeue_webhook.rb +89 -93
  63. data/lib/freeclimb/models/enqueue.rb +48 -52
  64. data/lib/freeclimb/models/export_list.rb +304 -0
  65. data/lib/freeclimb/models/export_output_type.rb +34 -0
  66. data/lib/freeclimb/models/export_request.rb +276 -0
  67. data/lib/freeclimb/models/export_request_output.rb +243 -0
  68. data/lib/freeclimb/models/export_resource_type.rb +35 -0
  69. data/lib/freeclimb/models/export_result.rb +405 -0
  70. data/lib/freeclimb/models/export_result_output.rb +243 -0
  71. data/lib/freeclimb/models/export_status.rb +39 -0
  72. data/lib/freeclimb/models/filter_logs_request.rb +31 -35
  73. data/lib/freeclimb/models/get_digits.rb +73 -77
  74. data/lib/freeclimb/models/get_digits_reason.rb +12 -14
  75. data/lib/freeclimb/models/get_digits_webhook.rb +93 -97
  76. data/lib/freeclimb/models/get_speech.rb +94 -97
  77. data/lib/freeclimb/models/get_speech_reason.rb +12 -14
  78. data/lib/freeclimb/models/get_speech_webhook.rb +118 -122
  79. data/lib/freeclimb/models/grammar_file_built_in.rb +12 -14
  80. data/lib/freeclimb/models/grammar_type.rb +12 -14
  81. data/lib/freeclimb/models/hangup.rb +34 -39
  82. data/lib/freeclimb/models/if_machine.rb +12 -14
  83. data/lib/freeclimb/models/inbound_call_webhook.rb +85 -89
  84. data/lib/freeclimb/models/incoming_number_list.rb +74 -78
  85. data/lib/freeclimb/models/incoming_number_request.rb +41 -45
  86. data/lib/freeclimb/models/incoming_number_result.rb +122 -126
  87. data/lib/freeclimb/models/language.rb +12 -14
  88. data/lib/freeclimb/models/leave_conference_webhook.rb +79 -83
  89. data/lib/freeclimb/models/log_level.rb +12 -14
  90. data/lib/freeclimb/models/log_list.rb +74 -78
  91. data/lib/freeclimb/models/log_result.rb +67 -71
  92. data/lib/freeclimb/models/machine_detected_webhook.rb +89 -93
  93. data/lib/freeclimb/models/machine_type.rb +12 -14
  94. data/lib/freeclimb/models/make_call_request.rb +77 -81
  95. data/lib/freeclimb/models/message_delivery_webhook.rb +81 -86
  96. data/lib/freeclimb/models/message_direction.rb +12 -14
  97. data/lib/freeclimb/models/message_request.rb +72 -75
  98. data/lib/freeclimb/models/message_result.rb +135 -139
  99. data/lib/freeclimb/models/message_status.rb +12 -14
  100. data/lib/freeclimb/models/message_status_webhook.rb +86 -90
  101. data/lib/freeclimb/models/messages_list.rb +74 -78
  102. data/lib/freeclimb/models/mutable_resource_model.rb +46 -51
  103. data/lib/freeclimb/models/out_dial.rb +80 -84
  104. data/lib/freeclimb/models/out_dial_api_connect_webhook.rb +84 -88
  105. data/lib/freeclimb/models/out_dial_connect_webhook.rb +84 -88
  106. data/lib/freeclimb/models/out_dial_start_webhook.rb +90 -94
  107. data/lib/freeclimb/models/pagination_model.rb +67 -71
  108. data/lib/freeclimb/models/park.rb +44 -48
  109. data/lib/freeclimb/models/pause.rb +33 -37
  110. data/lib/freeclimb/models/percl_command.rb +36 -40
  111. data/lib/freeclimb/models/percl_script.rb +32 -36
  112. data/lib/freeclimb/models/play.rb +44 -48
  113. data/lib/freeclimb/models/play_beep.rb +12 -14
  114. data/lib/freeclimb/models/play_early_media.rb +33 -37
  115. data/lib/freeclimb/models/queue_list.rb +74 -78
  116. data/lib/freeclimb/models/queue_member.rb +55 -59
  117. data/lib/freeclimb/models/queue_member_list.rb +74 -78
  118. data/lib/freeclimb/models/queue_request.rb +37 -42
  119. data/lib/freeclimb/models/queue_result.rb +88 -92
  120. data/lib/freeclimb/models/queue_result_status.rb +12 -14
  121. data/lib/freeclimb/models/queue_wait_webhook.rb +94 -98
  122. data/lib/freeclimb/models/record_utterance.rb +63 -67
  123. data/lib/freeclimb/models/record_utterance_term_reason.rb +12 -14
  124. data/lib/freeclimb/models/record_webhook.rb +119 -123
  125. data/lib/freeclimb/models/recording_list.rb +74 -78
  126. data/lib/freeclimb/models/recording_result.rb +76 -80
  127. data/lib/freeclimb/models/redirect.rb +33 -37
  128. data/lib/freeclimb/models/redirect_webhook.rb +84 -88
  129. data/lib/freeclimb/models/reject.rb +34 -39
  130. data/lib/freeclimb/models/remove_from_conference.rb +28 -33
  131. data/lib/freeclimb/models/remove_from_queue_notification_webhook.rb +89 -93
  132. data/lib/freeclimb/models/request_type.rb +12 -14
  133. data/lib/freeclimb/models/say.rb +49 -53
  134. data/lib/freeclimb/models/send_digits.rb +43 -47
  135. data/lib/freeclimb/models/set_dtmf_pass_through.rb +34 -39
  136. data/lib/freeclimb/models/set_listen.rb +34 -39
  137. data/lib/freeclimb/models/set_talk.rb +34 -39
  138. data/lib/freeclimb/models/sms.rb +48 -52
  139. data/lib/freeclimb/models/sms_ten_dlc_brand.rb +187 -190
  140. data/lib/freeclimb/models/sms_ten_dlc_brand_alt_business_id_type.rb +12 -14
  141. data/lib/freeclimb/models/sms_ten_dlc_brand_entity_type.rb +12 -14
  142. data/lib/freeclimb/models/sms_ten_dlc_brand_identity_status.rb +12 -14
  143. data/lib/freeclimb/models/sms_ten_dlc_brand_relationship.rb +12 -14
  144. data/lib/freeclimb/models/sms_ten_dlc_brand_stock_exchange.rb +12 -14
  145. data/lib/freeclimb/models/sms_ten_dlc_brands_list_result.rb +74 -78
  146. data/lib/freeclimb/models/sms_ten_dlc_campaign.rb +226 -229
  147. data/lib/freeclimb/models/sms_ten_dlc_campaign_status.rb +12 -14
  148. data/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result.rb +74 -78
  149. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign.rb +186 -189
  150. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_brand.rb +84 -87
  151. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_status.rb +12 -14
  152. data/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result.rb +74 -78
  153. data/lib/freeclimb/models/sms_toll_free_campaign.rb +61 -64
  154. data/lib/freeclimb/models/sms_toll_free_campaign_registration_status.rb +12 -14
  155. data/lib/freeclimb/models/sms_toll_free_campaigns_list_result.rb +74 -78
  156. data/lib/freeclimb/models/start_record_call.rb +28 -33
  157. data/lib/freeclimb/models/terminate_conference.rb +28 -33
  158. data/lib/freeclimb/models/tfn.rb +31 -35
  159. data/lib/freeclimb/models/tfn_campaign.rb +76 -79
  160. data/lib/freeclimb/models/transcribe_reason.rb +12 -14
  161. data/lib/freeclimb/models/transcribe_term_reason.rb +12 -14
  162. data/lib/freeclimb/models/transcribe_utterance.rb +61 -65
  163. data/lib/freeclimb/models/transcribe_utterance_record.rb +43 -47
  164. data/lib/freeclimb/models/transcribe_webhook.rb +150 -154
  165. data/lib/freeclimb/models/unpark.rb +28 -33
  166. data/lib/freeclimb/models/update_call_request.rb +31 -35
  167. data/lib/freeclimb/models/update_call_request_status.rb +12 -14
  168. data/lib/freeclimb/models/update_conference_participant_request.rb +41 -46
  169. data/lib/freeclimb/models/update_conference_request.rb +41 -45
  170. data/lib/freeclimb/models/update_conference_request_status.rb +12 -14
  171. data/lib/freeclimb/models/webhook.rb +32 -37
  172. data/lib/freeclimb/utils/request_verifier.rb +14 -14
  173. data/lib/freeclimb/utils/signature_information.rb +8 -8
  174. data/lib/freeclimb/version.rb +10 -12
  175. data/lib/freeclimb.rb +164 -158
  176. data/openapi.json +373 -2
  177. data/package.json +1 -1
  178. data/spec/api/default_api_spec.rb +631 -676
  179. data/spec/api_client_spec.rb +100 -102
  180. data/spec/configuration_spec.rb +16 -18
  181. data/spec/models/account_request_spec.rb +104 -233
  182. data/spec/models/account_result_spec.rb +393 -1013
  183. data/spec/models/account_status_spec.rb +27 -30
  184. data/spec/models/account_type_spec.rb +24 -27
  185. data/spec/models/add_to_conference_notification_webhook_spec.rb +464 -1197
  186. data/spec/models/add_to_conference_spec.rb +354 -850
  187. data/spec/models/add_to_queue_notification_webhook_spec.rb +341 -864
  188. data/spec/models/answered_by_spec.rb +24 -27
  189. data/spec/models/application_list_spec.rb +289 -646
  190. data/spec/models/application_request_spec.rb +265 -679
  191. data/spec/models/application_result_spec.rb +444 -1184
  192. data/spec/models/available_number_list_spec.rb +289 -646
  193. data/spec/models/available_number_spec.rb +271 -650
  194. data/spec/models/barge_in_reason_spec.rb +27 -30
  195. data/spec/models/buy_incoming_number_request_spec.rb +136 -322
  196. data/spec/models/call_control_webhook_spec.rb +203 -503
  197. data/spec/models/call_direction_spec.rb +27 -30
  198. data/spec/models/call_ended_reason_spec.rb +107 -110
  199. data/spec/models/call_list_spec.rb +289 -646
  200. data/spec/models/call_result_spec.rb +699 -1798
  201. data/spec/models/call_status_spec.rb +47 -50
  202. data/spec/models/call_status_webhook_spec.rb +413 -990
  203. data/spec/models/capabilities_spec.rb +202 -411
  204. data/spec/models/completion_request_spec.rb +75 -143
  205. data/spec/models/completion_result_spec.rb +104 -231
  206. data/spec/models/completion_result_status_spec.rb +24 -27
  207. data/spec/models/conference_list_spec.rb +289 -646
  208. data/spec/models/conference_participant_list_spec.rb +289 -646
  209. data/spec/models/conference_participant_result_spec.rb +384 -938
  210. data/spec/models/conference_recording_status_webhook_spec.rb +464 -1197
  211. data/spec/models/conference_result_spec.rb +489 -1263
  212. data/spec/models/conference_status_spec.rb +31 -34
  213. data/spec/models/conference_status_webhook_spec.rb +464 -1197
  214. data/spec/models/create_conference_request_spec.rb +204 -485
  215. data/spec/models/create_conference_spec.rb +289 -561
  216. data/spec/models/create_conference_webhook_spec.rb +464 -1197
  217. data/spec/models/create_web_rtc_token_spec.rb +136 -307
  218. data/spec/models/dequeue_spec.rb +14 -17
  219. data/spec/models/dequeue_webhook_spec.rb +400 -1021
  220. data/spec/models/enqueue_spec.rb +169 -412
  221. data/spec/models/export_list_spec.rb +502 -0
  222. data/spec/models/export_output_type_spec.rb +43 -0
  223. data/spec/models/export_request_output_spec.rb +162 -0
  224. data/spec/models/export_request_spec.rb +320 -0
  225. data/spec/models/export_resource_type_spec.rb +59 -0
  226. data/spec/models/export_result_output_spec.rb +162 -0
  227. data/spec/models/export_result_spec.rb +718 -0
  228. data/spec/models/export_status_spec.rb +123 -0
  229. data/spec/models/filter_logs_request_spec.rb +73 -145
  230. data/spec/models/get_digits_reason_spec.rb +31 -34
  231. data/spec/models/get_digits_spec.rb +326 -737
  232. data/spec/models/get_digits_webhook_spec.rb +435 -1127
  233. data/spec/models/get_speech_reason_spec.rb +39 -42
  234. data/spec/models/get_speech_spec.rb +399 -1036
  235. data/spec/models/get_speech_webhook_spec.rb +608 -1553
  236. data/spec/models/grammar_file_built_in_spec.rb +75 -78
  237. data/spec/models/grammar_type_spec.rb +24 -27
  238. data/spec/models/hangup_spec.rb +73 -145
  239. data/spec/models/if_machine_spec.rb +24 -27
  240. data/spec/models/inbound_call_webhook_spec.rb +371 -951
  241. data/spec/models/incoming_number_list_spec.rb +289 -646
  242. data/spec/models/incoming_number_request_spec.rb +136 -322
  243. data/spec/models/incoming_number_result_spec.rb +573 -1489
  244. data/spec/models/language_spec.rb +120 -123
  245. data/spec/models/leave_conference_webhook_spec.rb +341 -864
  246. data/spec/models/log_level_spec.rb +27 -30
  247. data/spec/models/log_list_spec.rb +289 -646
  248. data/spec/models/log_result_spec.rb +272 -667
  249. data/spec/models/machine_detected_webhook_spec.rb +401 -1036
  250. data/spec/models/machine_type_spec.rb +24 -27
  251. data/spec/models/make_call_request_spec.rb +353 -905
  252. data/spec/models/message_delivery_webhook_spec.rb +357 -942
  253. data/spec/models/message_direction_spec.rb +24 -27
  254. data/spec/models/message_request_spec.rb +324 -818
  255. data/spec/models/message_result_spec.rb +647 -1710
  256. data/spec/models/message_status_spec.rb +60 -63
  257. data/spec/models/message_status_webhook_spec.rb +405 -1045
  258. data/spec/models/messages_list_spec.rb +289 -646
  259. data/spec/models/mutable_resource_model_spec.rb +168 -395
  260. data/spec/models/out_dial_api_connect_webhook_spec.rb +371 -951
  261. data/spec/models/out_dial_connect_webhook_spec.rb +371 -951
  262. data/spec/models/out_dial_spec.rb +354 -903
  263. data/spec/models/out_dial_start_webhook_spec.rb +401 -1038
  264. data/spec/models/pagination_model_spec.rb +259 -577
  265. data/spec/models/park_spec.rb +136 -322
  266. data/spec/models/pause_spec.rb +72 -128
  267. data/spec/models/percl_command_spec.rb +76 -145
  268. data/spec/models/percl_script_spec.rb +73 -127
  269. data/spec/models/play_beep_spec.rb +31 -34
  270. data/spec/models/play_early_media_spec.rb +73 -145
  271. data/spec/models/play_spec.rb +135 -287
  272. data/spec/models/queue_list_spec.rb +289 -646
  273. data/spec/models/queue_member_list_spec.rb +289 -646
  274. data/spec/models/queue_member_spec.rb +199 -467
  275. data/spec/models/queue_request_spec.rb +103 -216
  276. data/spec/models/queue_result_spec.rb +388 -965
  277. data/spec/models/queue_result_status_spec.rb +31 -34
  278. data/spec/models/queue_wait_webhook_spec.rb +429 -1091
  279. data/spec/models/record_utterance_spec.rb +263 -591
  280. data/spec/models/record_utterance_term_reason_spec.rb +31 -34
  281. data/spec/models/record_webhook_spec.rb +605 -1548
  282. data/spec/models/recording_list_spec.rb +289 -646
  283. data/spec/models/recording_result_spec.rb +323 -819
  284. data/spec/models/redirect_spec.rb +73 -145
  285. data/spec/models/redirect_webhook_spec.rb +371 -951
  286. data/spec/models/reject_spec.rb +73 -145
  287. data/spec/models/remove_from_conference_spec.rb +14 -17
  288. data/spec/models/remove_from_queue_notification_webhook_spec.rb +404 -1023
  289. data/spec/models/request_type_spec.rb +107 -110
  290. data/spec/models/say_spec.rb +168 -377
  291. data/spec/models/send_digits_spec.rb +135 -287
  292. data/spec/models/set_dtmf_pass_through_spec.rb +74 -127
  293. data/spec/models/set_listen_spec.rb +74 -127
  294. data/spec/models/set_talk_spec.rb +74 -127
  295. data/spec/models/sms_spec.rb +169 -412
  296. data/spec/models/sms_ten_dlc_brand_alt_business_id_type_spec.rb +31 -34
  297. data/spec/models/sms_ten_dlc_brand_entity_type_spec.rb +35 -38
  298. data/spec/models/sms_ten_dlc_brand_identity_status_spec.rb +31 -34
  299. data/spec/models/sms_ten_dlc_brand_relationship_spec.rb +35 -38
  300. data/spec/models/sms_ten_dlc_brand_spec.rb +1082 -2746
  301. data/spec/models/sms_ten_dlc_brand_stock_exchange_spec.rb +124 -127
  302. data/spec/models/sms_ten_dlc_brands_list_result_spec.rb +289 -646
  303. data/spec/models/sms_ten_dlc_campaign_spec.rb +1139 -2881
  304. data/spec/models/sms_ten_dlc_campaign_status_spec.rb +24 -27
  305. data/spec/models/sms_ten_dlc_campaigns_list_result_spec.rb +289 -646
  306. data/spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb +406 -1004
  307. data/spec/models/sms_ten_dlc_partner_campaign_spec.rb +961 -2393
  308. data/spec/models/sms_ten_dlc_partner_campaign_status_spec.rb +24 -27
  309. data/spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb +289 -646
  310. data/spec/models/sms_toll_free_campaign_registration_status_spec.rb +35 -38
  311. data/spec/models/sms_toll_free_campaign_spec.rb +270 -666
  312. data/spec/models/sms_toll_free_campaigns_list_result_spec.rb +289 -646
  313. data/spec/models/start_record_call_spec.rb +14 -17
  314. data/spec/models/terminate_conference_spec.rb +14 -17
  315. data/spec/models/tfn_campaign_spec.rb +330 -858
  316. data/spec/models/tfn_spec.rb +73 -145
  317. data/spec/models/transcribe_reason_spec.rb +35 -38
  318. data/spec/models/transcribe_term_reason_spec.rb +24 -27
  319. data/spec/models/transcribe_utterance_record_spec.rb +134 -270
  320. data/spec/models/transcribe_utterance_spec.rb +236 -523
  321. data/spec/models/transcribe_webhook_spec.rb +749 -1918
  322. data/spec/models/unpark_spec.rb +14 -17
  323. data/spec/models/update_call_request_spec.rb +74 -143
  324. data/spec/models/update_call_request_status_spec.rb +24 -27
  325. data/spec/models/update_conference_participant_request_spec.rb +137 -268
  326. data/spec/models/update_conference_request_spec.rb +140 -321
  327. data/spec/models/update_conference_request_status_spec.rb +24 -27
  328. data/spec/models/webhook_spec.rb +68 -137
  329. data/spec/quickstart_spec.rb +5 -5
  330. data/spec/spec_helper.rb +92 -100
  331. data/spec/utils/request_verifier_spec.rb +70 -71
  332. data/spec/utils/signature_information_spec.rb +23 -23
  333. data/yarn.lock +38 -29
  334. metadata +27 -151
@@ -1,21 +1,19 @@
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: 7.9.0
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'json'
15
- require 'logger'
16
- require 'tempfile'
17
- require 'time'
18
- require 'typhoeus'
1
+ # #FreeClimb API
2
+ #
3
+ # 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.
4
+ #
5
+ # The version of the OpenAPI document: 1.0.0
6
+ # Contact: support@freeclimb.com
7
+ # Generated by: https://openapi-generator.tech
8
+ # OpenAPI Generator version: 7.9.0
9
+ #
10
+
11
+ require "date"
12
+ require "json"
13
+ require "logger"
14
+ require "tempfile"
15
+ require "time"
16
+ require "typhoeus"
19
17
 
20
18
  module Freeclimb
21
19
  class ApiClient
@@ -33,8 +31,8 @@ module Freeclimb
33
31
  @config = config
34
32
  @user_agent = "OpenAPI-Generator/#{VERSION}/ruby"
35
33
  @default_headers = {
36
- 'Content-Type' => 'application/json',
37
- 'User-Agent' => @user_agent
34
+ "Content-Type" => "application/json",
35
+ "User-Agent" => @user_agent
38
36
  }
39
37
  end
40
38
 
@@ -56,25 +54,23 @@ module Freeclimb
56
54
 
57
55
  unless response.success?
58
56
  if response.timed_out?
59
- fail ApiError.new('Connection timed out')
57
+ fail ApiError.new("Connection timed out")
60
58
  elsif response.code == 0
61
59
  # Errors from libcurl will be made visible here
62
- fail ApiError.new(:code => 0,
63
- :message => response.return_message)
60
+ fail ApiError.new(code: 0,
61
+ message: response.return_message)
64
62
  else
65
- fail ApiError.new(:code => response.code,
66
- :response_headers => response.headers,
67
- :response_body => response.body),
68
- response.status_message
63
+ fail ApiError.new(code: response.code,
64
+ response_headers: response.headers,
65
+ response_body: response.body),
66
+ response.status_message
69
67
  end
70
68
  end
71
69
 
72
- if opts[:return_type]
73
- data = deserialize(response, opts[:return_type])
74
- else
75
- data = nil
70
+ data = if opts[:return_type]
71
+ deserialize(response, opts[:return_type])
76
72
  end
77
- return data, response.code, response.headers
73
+ [data, response.code, response.headers]
78
74
  end
79
75
 
80
76
  # Builds the HTTP request
@@ -100,16 +96,16 @@ module Freeclimb
100
96
  _verify_ssl_host = @config.verify_ssl_host ? 2 : 0
101
97
 
102
98
  req_opts = {
103
- :method => http_method,
104
- :headers => header_params,
105
- :params => query_params,
106
- :params_encoding => @config.params_encoding,
107
- :timeout => @config.timeout,
108
- :ssl_verifypeer => @config.verify_ssl,
109
- :ssl_verifyhost => _verify_ssl_host,
110
- :sslcert => @config.cert_file,
111
- :sslkey => @config.key_file,
112
- :verbose => @config.debugging
99
+ method: http_method,
100
+ headers: header_params,
101
+ params: query_params,
102
+ params_encoding: @config.params_encoding,
103
+ timeout: @config.timeout,
104
+ ssl_verifypeer: @config.verify_ssl,
105
+ ssl_verifyhost: _verify_ssl_host,
106
+ sslcert: @config.cert_file,
107
+ sslkey: @config.key_file,
108
+ verbose: @config.debugging
113
109
  }
114
110
 
115
111
  # set custom cert, if provided
@@ -117,14 +113,14 @@ module Freeclimb
117
113
 
118
114
  if [:post, :patch, :put, :delete].include?(http_method)
119
115
  req_body = build_request_body(header_params, form_params, opts[:body])
120
- req_opts.update :body => req_body
116
+ req_opts.update body: req_body
121
117
  if @config.debugging
122
118
  @config.logger.debug "HTTP request body param ~BEGIN~\n#{req_body}\n~END~\n"
123
119
  end
124
120
  end
125
121
 
126
122
  request = Typhoeus::Request.new(url, req_opts)
127
- download_file(request) if opts[:return_type] == 'File'
123
+ download_file(request) if opts[:return_type] == "File"
128
124
  request
129
125
  end
130
126
 
@@ -136,16 +132,16 @@ module Freeclimb
136
132
  # @return [String] HTTP body data in the form of string
137
133
  def build_request_body(header_params, form_params, body)
138
134
  # http form
139
- if header_params['Content-Type'] == 'application/x-www-form-urlencoded' ||
140
- header_params['Content-Type'] == 'multipart/form-data'
135
+ if header_params["Content-Type"] == "application/x-www-form-urlencoded" ||
136
+ header_params["Content-Type"] == "multipart/form-data"
141
137
  data = {}
142
138
  form_params.each do |key, value|
143
- case value
139
+ data[key] = case value
144
140
  when ::File, ::Array, nil
145
141
  # let typhoeus handle File, Array and nil parameters
146
- data[key] = value
142
+ value
147
143
  else
148
- data[key] = value.to_s
144
+ value.to_s
149
145
  end
150
146
  end
151
147
  elsif body
@@ -167,14 +163,14 @@ module Freeclimb
167
163
  tempfile = nil
168
164
  encoding = nil
169
165
  request.on_headers do |response|
170
- content_disposition = response.headers['Content-Disposition']
166
+ content_disposition = response.headers["Content-Disposition"]
171
167
  if content_disposition && content_disposition =~ /filename=/i
172
168
  filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
173
169
  prefix = sanitize_filename(filename)
174
170
  else
175
- prefix = 'download-'
171
+ prefix = "download-"
176
172
  end
177
- prefix = prefix + '-' unless prefix.end_with?('-')
173
+ prefix += "-" unless prefix.end_with?("-")
178
174
  encoding = response.body.encoding
179
175
  tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
180
176
  @tempfile = tempfile
@@ -186,9 +182,9 @@ module Freeclimb
186
182
  request.on_complete do |response|
187
183
  if tempfile
188
184
  tempfile.close
189
- @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
190
- "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
191
- "will be deleted automatically with GC. It's also recommended to delete the temp file "\
185
+ @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder " \
186
+ "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file " \
187
+ "will be deleted automatically with GC. It's also recommended to delete the temp file " \
192
188
  "explicitly with `tempfile.delete`"
193
189
  end
194
190
  end
@@ -203,7 +199,7 @@ module Freeclimb
203
199
  # @param [String] mime MIME
204
200
  # @return [Boolean] True if the MIME is application/json
205
201
  def json_mime?(mime)
206
- (mime == '*/*') || !(mime =~ /Application\/.*json(?!p)(;.*)?/i).nil?
202
+ (mime == "*/*") || !(mime =~ /Application\/.*json(?!p)(;.*)?/i).nil?
207
203
  end
208
204
 
209
205
  # Deserialize the response to the given return type.
@@ -215,22 +211,22 @@ module Freeclimb
215
211
 
216
212
  # handle file downloading - return the File instance processed in request callbacks
217
213
  # note that response body is empty when the file is written in chunks in request on_body callback
218
- return @tempfile if return_type == 'File'
214
+ return @tempfile if return_type == "File"
219
215
 
220
216
  return nil if body.nil? || body.empty?
221
217
 
222
218
  # return response body directly for String return type
223
- return body if return_type == 'String'
219
+ return body if return_type == "String"
224
220
 
225
221
  # ensuring a default content type
226
- content_type = response.headers['Content-Type'] || 'application/json'
222
+ content_type = response.headers["Content-Type"] || "application/json"
227
223
 
228
224
  fail "Content-Type is not supported: #{content_type}" unless json_mime?(content_type)
229
225
 
230
226
  begin
231
- data = JSON.parse("[#{body}]", :symbolize_names => true)[0]
227
+ data = JSON.parse("[#{body}]", symbolize_names: true)[0]
232
228
  rescue JSON::ParserError => e
233
- if %w(String Date Time).include?(return_type)
229
+ if %w[String Date Time].include?(return_type)
234
230
  data = body
235
231
  else
236
232
  raise e
@@ -247,28 +243,28 @@ module Freeclimb
247
243
  def convert_to_type(data, return_type)
248
244
  return nil if data.nil?
249
245
  case return_type
250
- when 'String'
246
+ when "String"
251
247
  data.to_s
252
- when 'Integer'
248
+ when "Integer"
253
249
  data.to_i
254
- when 'Float'
250
+ when "Float"
255
251
  data.to_f
256
- when 'Boolean'
252
+ when "Boolean"
257
253
  data == true
258
- when 'Time'
254
+ when "Time"
259
255
  # parse date time (expecting ISO 8601 format)
260
256
  Time.parse data
261
- when 'Date'
257
+ when "Date"
262
258
  # parse date time (expecting ISO 8601 format)
263
259
  Date.parse data
264
- when 'Object'
260
+ when "Object"
265
261
  # generic object (usually a Hash), return directly
266
262
  data
267
263
  when /\AArray<(.+)>\z/
268
264
  # e.g. Array<Pet>
269
265
  sub_type = $1
270
266
  data.map { |item| convert_to_type(item, sub_type) }
271
- when /\AHash\<String, (.+)\>\z/
267
+ when /\AHash<String, (.+)>\z/
272
268
  # e.g. Hash<String, Integer>
273
269
  sub_type = $1
274
270
  {}.tap do |hash|
@@ -287,12 +283,12 @@ module Freeclimb
287
283
  # @param [String] filename the filename to be sanitized
288
284
  # @return [String] the sanitized filename
289
285
  def sanitize_filename(filename)
290
- filename.gsub(/.*[\/\\]/, '')
286
+ filename.gsub(/.*[\/\\]/, "")
291
287
  end
292
288
 
293
289
  def build_request_url(path, opts = {})
294
290
  # Add leading and trailing slashes to path
295
- path = "/#{path}".gsub(/\/+/, '/')
291
+ path = "/#{path}".squeeze("/")
296
292
  @config.base_url(opts[:operation]) + path
297
293
  end
298
294
 
@@ -306,9 +302,9 @@ module Freeclimb
306
302
  auth_setting = @config.auth_settings[auth_name]
307
303
  next unless auth_setting
308
304
  case auth_setting[:in]
309
- when 'header' then header_params[auth_setting[:key]] = auth_setting[:value]
310
- when 'query' then query_params[auth_setting[:key]] = auth_setting[:value]
311
- else fail ArgumentError, 'Authentication token must be in `query` or `header`'
305
+ when "header" then header_params[auth_setting[:key]] = auth_setting[:value]
306
+ when "query" then query_params[auth_setting[:key]] = auth_setting[:value]
307
+ else fail ArgumentError, "Authentication token must be in `query` or `header`"
312
308
  end
313
309
  end
314
310
  end
@@ -318,7 +314,7 @@ module Freeclimb
318
314
  # @param [String] user_agent User agent (e.g. openapi-generator/ruby/1.0.0)
319
315
  def user_agent=(user_agent)
320
316
  @user_agent = user_agent
321
- @default_headers['User-Agent'] = @user_agent
317
+ @default_headers["User-Agent"] = @user_agent
322
318
  end
323
319
 
324
320
  # Return Accept header based on an array of accepts provided.
@@ -328,7 +324,7 @@ module Freeclimb
328
324
  return nil if accepts.nil? || accepts.empty?
329
325
  # use JSON when present, otherwise use all of the provided
330
326
  json_accept = accepts.find { |s| json_mime?(s) }
331
- json_accept || accepts.join(',')
327
+ json_accept || accepts.join(",")
332
328
  end
333
329
 
334
330
  # Return Content-Type header based on an array of content types provided.
@@ -347,11 +343,10 @@ module Freeclimb
347
343
  # @return [String] JSON string representation of the object
348
344
  def object_to_http_body(model)
349
345
  return model if model.nil? || model.is_a?(String)
350
- local_body = nil
351
- if model.is_a?(Array)
352
- local_body = model.map { |m| object_to_hash(m) }
346
+ local_body = if model.is_a?(Array)
347
+ model.map { |m| object_to_hash(m) }
353
348
  else
354
- local_body = object_to_hash(model)
349
+ object_to_hash(model)
355
350
  end
356
351
  local_body.to_json
357
352
  end
@@ -372,13 +367,13 @@ module Freeclimb
372
367
  def build_collection_param(param, collection_format)
373
368
  case collection_format
374
369
  when :csv
375
- param.join(',')
370
+ param.join(",")
376
371
  when :ssv
377
- param.join(' ')
372
+ param.join(" ")
378
373
  when :tsv
379
374
  param.join("\t")
380
375
  when :pipes
381
- param.join('|')
376
+ param.join("|")
382
377
  when :multi
383
378
  # return the array directly as typhoeus will handle it as expected
384
379
  param
@@ -1,14 +1,12 @@
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: 7.9.0
10
-
11
- =end
1
+ # #FreeClimb API
2
+ #
3
+ # 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.
4
+ #
5
+ # The version of the OpenAPI document: 1.0.0
6
+ # Contact: support@freeclimb.com
7
+ # Generated by: https://openapi-generator.tech
8
+ # OpenAPI Generator version: 7.9.0
9
+ #
12
10
 
13
11
  module Freeclimb
14
12
  class ApiError < StandardError
@@ -21,17 +19,17 @@ module Freeclimb
21
19
  # ApiError.new(:code => 404, :message => "Not Found")
22
20
  def initialize(arg = nil)
23
21
  if arg.is_a? Hash
24
- if arg.key?(:message) || arg.key?('message')
25
- super(arg[:message] || arg['message'])
22
+ if arg.key?(:message) || arg.key?("message")
23
+ super(arg[:message] || arg["message"])
26
24
  else
27
- super arg
25
+ super
28
26
  end
29
27
 
30
28
  arg.each do |k, v|
31
- instance_variable_set "@#{k}", v
29
+ instance_variable_set :"@#{k}", v
32
30
  end
33
31
  else
34
- super arg
32
+ super
35
33
  end
36
34
  end
37
35
 
@@ -41,10 +39,10 @@ module Freeclimb
41
39
  end
42
40
 
43
41
  def message
44
- if @message.nil?
45
- msg = "Error message: the server returns an error"
42
+ msg = if @message.nil?
43
+ "Error message: the server returns an error"
46
44
  else
47
- msg = @message
45
+ @message
48
46
  end
49
47
 
50
48
  msg += "\nHTTP status code: #{code}" if code
@@ -1,14 +1,12 @@
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: 7.9.0
10
-
11
- =end
1
+ # #FreeClimb API
2
+ #
3
+ # 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.
4
+ #
5
+ # The version of the OpenAPI document: 1.0.0
6
+ # Contact: support@freeclimb.com
7
+ # Generated by: https://openapi-generator.tech
8
+ # OpenAPI Generator version: 7.9.0
9
+ #
12
10
 
13
11
  module Freeclimb
14
12
  class Configuration
@@ -138,9 +136,9 @@ module Freeclimb
138
136
  attr_accessor :force_ending_format
139
137
 
140
138
  def initialize
141
- @scheme = 'https'
142
- @host = 'www.freeclimb.com'
143
- @base_path = '/apiserver'
139
+ @scheme = "https"
140
+ @host = "www.freeclimb.com"
141
+ @base_path = "/apiserver"
144
142
  @server_index = 0
145
143
  @server_operation_index = {}
146
144
  @server_variables = {}
@@ -173,24 +171,24 @@ module Freeclimb
173
171
 
174
172
  def scheme=(scheme)
175
173
  # remove :// from scheme
176
- @scheme = scheme.sub(/:\/\//, '')
174
+ @scheme = scheme.sub("://", "")
177
175
  end
178
176
 
179
177
  def host=(host)
180
178
  # remove http(s):// and anything after a slash
181
- @host = host.sub(/https?:\/\//, '').split('/').first
179
+ @host = host.sub(/https?:\/\//, "").split("/").first
182
180
  end
183
181
 
184
182
  def base_path=(base_path)
185
183
  # Add leading and trailing slashes to base_path
186
- @base_path = "/#{base_path}".gsub(/\/+/, '/')
187
- @base_path = '' if @base_path == '/'
184
+ @base_path = "/#{base_path}".squeeze("/")
185
+ @base_path = "" if @base_path == "/"
188
186
  end
189
187
 
190
188
  # Returns base URL for specified operation based on server settings
191
189
  def base_url(operation = nil)
192
190
  index = server_operation_index.fetch(operation, server_index)
193
- return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
191
+ return "#{scheme}://#{[host, base_path].join("/").squeeze("/")}".sub(/\/+\z/, "") if index.nil?
194
192
 
195
193
  server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
196
194
  end
@@ -209,19 +207,19 @@ module Freeclimb
209
207
 
210
208
  # Gets Basic Auth token string
211
209
  def basic_auth_token
212
- 'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n")
210
+ "Basic " + ["#{username}:#{password}"].pack("m").delete("\r\n")
213
211
  end
214
212
 
215
213
  # Returns Auth Settings hash for api client.
216
214
  def auth_settings
217
215
  {
218
- 'fc' =>
216
+ "fc" =>
219
217
  {
220
- type: 'basic',
221
- in: 'header',
222
- key: 'Authorization',
218
+ type: "basic",
219
+ in: "header",
220
+ key: "Authorization",
223
221
  value: basic_auth_token
224
- },
222
+ }
225
223
  }
226
224
  end
227
225
 
@@ -230,7 +228,7 @@ module Freeclimb
230
228
  [
231
229
  {
232
230
  url: "https://www.freeclimb.com/apiserver",
233
- description: "No description provided",
231
+ description: "No description provided"
234
232
  }
235
233
  ]
236
234
  end
@@ -244,10 +242,10 @@ module Freeclimb
244
242
  # @param index array index of the server settings
245
243
  # @param variables hash of variable and the corresponding value
246
244
  def server_url(index, variables = {}, servers = nil)
247
- servers = server_settings if servers == nil
245
+ servers = server_settings if servers.nil?
248
246
 
249
247
  # check array index out of bound
250
- if (index < 0 || index >= servers.size)
248
+ if index < 0 || index >= servers.size
251
249
  fail ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
252
250
  end
253
251
 
@@ -259,7 +257,7 @@ module Freeclimb
259
257
  # go through variable and assign a value
260
258
  server[:variables].each do |name, variable|
261
259
  if variables.key?(name)
262
- if (!server[:variables][name].key?(:enum_values) || server[:variables][name][:enum_values].include?(variables[name]))
260
+ if !server[:variables][name].key?(:enum_values) || server[:variables][name][:enum_values].include?(variables[name])
263
261
  url.gsub! "{" + name.to_s + "}", variables[name]
264
262
  else
265
263
  fail ArgumentError, "The variable `#{name}` in the server URL has invalid value #{variables[name]}. Must be #{server[:variables][name][:enum_values]}."