freeclimb 5.0.0 → 5.2.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 (310) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -1
  3. data/Gemfile +4 -4
  4. data/Gemfile.lock +34 -15
  5. data/README.md +5 -4
  6. data/Rakefile +1 -1
  7. data/docs/CreateConferenceRequest.md +1 -1
  8. data/docs/DefaultApi.md +1 -1
  9. data/docs/MessageResult.md +7 -1
  10. data/docs/TFNCampaign.md +34 -0
  11. data/freeclimb.gemspec +21 -26
  12. data/lib/freeclimb/api/default_api.rb +878 -878
  13. data/lib/freeclimb/api_client.rb +78 -83
  14. data/lib/freeclimb/api_error.rb +17 -19
  15. data/lib/freeclimb/configuration.rb +28 -31
  16. data/lib/freeclimb/models/account_request.rb +36 -41
  17. data/lib/freeclimb/models/account_result.rb +88 -92
  18. data/lib/freeclimb/models/account_status.rb +12 -14
  19. data/lib/freeclimb/models/account_type.rb +12 -14
  20. data/lib/freeclimb/models/add_to_conference.rb +81 -85
  21. data/lib/freeclimb/models/add_to_conference_notification_webhook.rb +99 -103
  22. data/lib/freeclimb/models/add_to_queue_notification_webhook.rb +78 -82
  23. data/lib/freeclimb/models/answered_by.rb +12 -14
  24. data/lib/freeclimb/models/application_list.rb +74 -78
  25. data/lib/freeclimb/models/application_request.rb +66 -70
  26. data/lib/freeclimb/models/application_result.rb +100 -104
  27. data/lib/freeclimb/models/available_number.rb +66 -70
  28. data/lib/freeclimb/models/available_number_list.rb +74 -78
  29. data/lib/freeclimb/models/barge_in_reason.rb +12 -14
  30. data/lib/freeclimb/models/buy_incoming_number_request.rb +41 -45
  31. data/lib/freeclimb/models/call_control_webhook.rb +56 -61
  32. data/lib/freeclimb/models/call_direction.rb +12 -14
  33. data/lib/freeclimb/models/call_ended_reason.rb +12 -14
  34. data/lib/freeclimb/models/call_list.rb +74 -78
  35. data/lib/freeclimb/models/call_result.rb +142 -146
  36. data/lib/freeclimb/models/call_status.rb +12 -14
  37. data/lib/freeclimb/models/call_status_webhook.rb +84 -88
  38. data/lib/freeclimb/models/capabilities.rb +55 -59
  39. data/lib/freeclimb/models/completion_request.rb +32 -36
  40. data/lib/freeclimb/models/completion_result.rb +36 -40
  41. data/lib/freeclimb/models/completion_result_status.rb +12 -14
  42. data/lib/freeclimb/models/conference_list.rb +74 -78
  43. data/lib/freeclimb/models/conference_participant_list.rb +74 -78
  44. data/lib/freeclimb/models/conference_participant_result.rb +88 -92
  45. data/lib/freeclimb/models/conference_recording_status_webhook.rb +99 -103
  46. data/lib/freeclimb/models/conference_result.rb +106 -110
  47. data/lib/freeclimb/models/conference_status.rb +12 -14
  48. data/lib/freeclimb/models/conference_status_webhook.rb +102 -106
  49. data/lib/freeclimb/models/create_conference.rb +60 -63
  50. data/lib/freeclimb/models/create_conference_request.rb +55 -54
  51. data/lib/freeclimb/models/create_conference_webhook.rb +102 -106
  52. data/lib/freeclimb/models/create_web_rtc_token.rb +42 -46
  53. data/lib/freeclimb/models/dequeue.rb +30 -37
  54. data/lib/freeclimb/models/dequeue_webhook.rb +89 -93
  55. data/lib/freeclimb/models/enqueue.rb +48 -52
  56. data/lib/freeclimb/models/filter_logs_request.rb +31 -35
  57. data/lib/freeclimb/models/get_digits.rb +73 -77
  58. data/lib/freeclimb/models/get_digits_reason.rb +12 -14
  59. data/lib/freeclimb/models/get_digits_webhook.rb +93 -97
  60. data/lib/freeclimb/models/get_speech.rb +94 -97
  61. data/lib/freeclimb/models/get_speech_reason.rb +12 -14
  62. data/lib/freeclimb/models/get_speech_webhook.rb +118 -122
  63. data/lib/freeclimb/models/grammar_file_built_in.rb +12 -14
  64. data/lib/freeclimb/models/grammar_type.rb +12 -14
  65. data/lib/freeclimb/models/hangup.rb +34 -39
  66. data/lib/freeclimb/models/if_machine.rb +12 -14
  67. data/lib/freeclimb/models/inbound_call_webhook.rb +85 -89
  68. data/lib/freeclimb/models/incoming_number_list.rb +74 -78
  69. data/lib/freeclimb/models/incoming_number_request.rb +41 -45
  70. data/lib/freeclimb/models/incoming_number_result.rb +122 -126
  71. data/lib/freeclimb/models/language.rb +12 -14
  72. data/lib/freeclimb/models/leave_conference_webhook.rb +79 -83
  73. data/lib/freeclimb/models/log_level.rb +12 -14
  74. data/lib/freeclimb/models/log_list.rb +74 -78
  75. data/lib/freeclimb/models/log_result.rb +67 -71
  76. data/lib/freeclimb/models/machine_detected_webhook.rb +89 -93
  77. data/lib/freeclimb/models/machine_type.rb +12 -14
  78. data/lib/freeclimb/models/make_call_request.rb +77 -81
  79. data/lib/freeclimb/models/message_delivery_webhook.rb +81 -86
  80. data/lib/freeclimb/models/message_direction.rb +12 -14
  81. data/lib/freeclimb/models/message_request.rb +72 -75
  82. data/lib/freeclimb/models/message_result.rb +150 -123
  83. data/lib/freeclimb/models/message_status.rb +12 -14
  84. data/lib/freeclimb/models/message_status_webhook.rb +86 -90
  85. data/lib/freeclimb/models/messages_list.rb +74 -78
  86. data/lib/freeclimb/models/mutable_resource_model.rb +46 -51
  87. data/lib/freeclimb/models/out_dial.rb +80 -84
  88. data/lib/freeclimb/models/out_dial_api_connect_webhook.rb +84 -88
  89. data/lib/freeclimb/models/out_dial_connect_webhook.rb +84 -88
  90. data/lib/freeclimb/models/out_dial_start_webhook.rb +90 -94
  91. data/lib/freeclimb/models/pagination_model.rb +67 -71
  92. data/lib/freeclimb/models/park.rb +44 -48
  93. data/lib/freeclimb/models/pause.rb +33 -37
  94. data/lib/freeclimb/models/percl_command.rb +36 -40
  95. data/lib/freeclimb/models/percl_script.rb +32 -36
  96. data/lib/freeclimb/models/play.rb +44 -48
  97. data/lib/freeclimb/models/play_beep.rb +12 -14
  98. data/lib/freeclimb/models/play_early_media.rb +33 -37
  99. data/lib/freeclimb/models/queue_list.rb +74 -78
  100. data/lib/freeclimb/models/queue_member.rb +55 -59
  101. data/lib/freeclimb/models/queue_member_list.rb +74 -78
  102. data/lib/freeclimb/models/queue_request.rb +37 -42
  103. data/lib/freeclimb/models/queue_result.rb +88 -92
  104. data/lib/freeclimb/models/queue_result_status.rb +12 -14
  105. data/lib/freeclimb/models/queue_wait_webhook.rb +94 -98
  106. data/lib/freeclimb/models/record_utterance.rb +63 -67
  107. data/lib/freeclimb/models/record_utterance_term_reason.rb +12 -14
  108. data/lib/freeclimb/models/record_webhook.rb +119 -123
  109. data/lib/freeclimb/models/recording_list.rb +74 -78
  110. data/lib/freeclimb/models/recording_result.rb +76 -80
  111. data/lib/freeclimb/models/redirect.rb +33 -37
  112. data/lib/freeclimb/models/redirect_webhook.rb +84 -88
  113. data/lib/freeclimb/models/reject.rb +34 -39
  114. data/lib/freeclimb/models/remove_from_conference.rb +30 -37
  115. data/lib/freeclimb/models/remove_from_queue_notification_webhook.rb +89 -93
  116. data/lib/freeclimb/models/request_type.rb +12 -14
  117. data/lib/freeclimb/models/say.rb +49 -53
  118. data/lib/freeclimb/models/send_digits.rb +43 -47
  119. data/lib/freeclimb/models/set_dtmf_pass_through.rb +34 -39
  120. data/lib/freeclimb/models/set_listen.rb +34 -39
  121. data/lib/freeclimb/models/set_talk.rb +34 -39
  122. data/lib/freeclimb/models/sms.rb +48 -52
  123. data/lib/freeclimb/models/sms_ten_dlc_brand.rb +187 -190
  124. data/lib/freeclimb/models/sms_ten_dlc_brand_alt_business_id_type.rb +12 -14
  125. data/lib/freeclimb/models/sms_ten_dlc_brand_entity_type.rb +12 -14
  126. data/lib/freeclimb/models/sms_ten_dlc_brand_identity_status.rb +12 -14
  127. data/lib/freeclimb/models/sms_ten_dlc_brand_relationship.rb +12 -14
  128. data/lib/freeclimb/models/sms_ten_dlc_brand_stock_exchange.rb +12 -14
  129. data/lib/freeclimb/models/sms_ten_dlc_brands_list_result.rb +74 -78
  130. data/lib/freeclimb/models/sms_ten_dlc_campaign.rb +226 -229
  131. data/lib/freeclimb/models/sms_ten_dlc_campaign_status.rb +12 -14
  132. data/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result.rb +74 -78
  133. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign.rb +186 -189
  134. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_brand.rb +84 -87
  135. data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_status.rb +12 -14
  136. data/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result.rb +74 -78
  137. data/lib/freeclimb/models/sms_toll_free_campaign.rb +61 -64
  138. data/lib/freeclimb/models/sms_toll_free_campaign_registration_status.rb +12 -14
  139. data/lib/freeclimb/models/sms_toll_free_campaigns_list_result.rb +74 -78
  140. data/lib/freeclimb/models/start_record_call.rb +30 -37
  141. data/lib/freeclimb/models/terminate_conference.rb +30 -37
  142. data/lib/freeclimb/models/tfn.rb +31 -35
  143. data/lib/freeclimb/models/tfn_campaign.rb +367 -0
  144. data/lib/freeclimb/models/transcribe_reason.rb +12 -14
  145. data/lib/freeclimb/models/transcribe_term_reason.rb +12 -14
  146. data/lib/freeclimb/models/transcribe_utterance.rb +61 -65
  147. data/lib/freeclimb/models/transcribe_utterance_record.rb +43 -47
  148. data/lib/freeclimb/models/transcribe_webhook.rb +150 -154
  149. data/lib/freeclimb/models/unpark.rb +30 -37
  150. data/lib/freeclimb/models/update_call_request.rb +31 -35
  151. data/lib/freeclimb/models/update_call_request_status.rb +12 -14
  152. data/lib/freeclimb/models/update_conference_participant_request.rb +41 -46
  153. data/lib/freeclimb/models/update_conference_request.rb +41 -45
  154. data/lib/freeclimb/models/update_conference_request_status.rb +12 -14
  155. data/lib/freeclimb/models/webhook.rb +32 -37
  156. data/lib/freeclimb/utils/request_verifier.rb +14 -14
  157. data/lib/freeclimb/utils/signature_information.rb +8 -8
  158. data/lib/freeclimb/version.rb +10 -12
  159. data/lib/freeclimb.rb +156 -157
  160. data/openapi.json +96 -38
  161. data/package.json +1 -1
  162. data/spec/api/default_api_spec.rb +531 -793
  163. data/spec/api_client_spec.rb +100 -102
  164. data/spec/configuration_spec.rb +16 -18
  165. data/spec/models/account_request_spec.rb +106 -124
  166. data/spec/models/account_result_spec.rb +396 -453
  167. data/spec/models/account_status_spec.rb +28 -30
  168. data/spec/models/account_type_spec.rb +25 -27
  169. data/spec/models/add_to_conference_notification_webhook_spec.rb +465 -549
  170. data/spec/models/add_to_conference_spec.rb +355 -382
  171. data/spec/models/add_to_queue_notification_webhook_spec.rb +342 -402
  172. data/spec/models/answered_by_spec.rb +25 -27
  173. data/spec/models/application_list_spec.rb +290 -326
  174. data/spec/models/application_request_spec.rb +266 -289
  175. data/spec/models/application_result_spec.rb +445 -476
  176. data/spec/models/available_number_list_spec.rb +290 -326
  177. data/spec/models/available_number_spec.rb +279 -299
  178. data/spec/models/barge_in_reason_spec.rb +28 -30
  179. data/spec/models/buy_incoming_number_request_spec.rb +137 -156
  180. data/spec/models/call_control_webhook_spec.rb +204 -225
  181. data/spec/models/call_direction_spec.rb +28 -30
  182. data/spec/models/call_ended_reason_spec.rb +108 -110
  183. data/spec/models/call_list_spec.rb +290 -326
  184. data/spec/models/call_result_spec.rb +684 -772
  185. data/spec/models/call_status_spec.rb +48 -50
  186. data/spec/models/call_status_webhook_spec.rb +414 -492
  187. data/spec/models/capabilities_spec.rb +203 -223
  188. data/spec/models/completion_request_spec.rb +76 -92
  189. data/spec/models/completion_result_spec.rb +107 -143
  190. data/spec/models/completion_result_status_spec.rb +25 -27
  191. data/spec/models/conference_list_spec.rb +290 -326
  192. data/spec/models/conference_participant_list_spec.rb +290 -326
  193. data/spec/models/conference_participant_result_spec.rb +385 -414
  194. data/spec/models/conference_recording_status_webhook_spec.rb +465 -549
  195. data/spec/models/conference_result_spec.rb +492 -553
  196. data/spec/models/conference_status_spec.rb +32 -34
  197. data/spec/models/conference_status_webhook_spec.rb +465 -549
  198. data/spec/models/create_conference_request_spec.rb +205 -245
  199. data/spec/models/create_conference_spec.rb +237 -278
  200. data/spec/models/create_conference_webhook_spec.rb +465 -549
  201. data/spec/models/create_web_rtc_token_spec.rb +137 -159
  202. data/spec/models/dequeue_spec.rb +15 -17
  203. data/spec/models/dequeue_webhook_spec.rb +401 -465
  204. data/spec/models/enqueue_spec.rb +170 -190
  205. data/spec/models/filter_logs_request_spec.rb +74 -91
  206. data/spec/models/get_digits_reason_spec.rb +32 -34
  207. data/spec/models/get_digits_spec.rb +327 -361
  208. data/spec/models/get_digits_webhook_spec.rb +436 -517
  209. data/spec/models/get_speech_reason_spec.rb +40 -42
  210. data/spec/models/get_speech_spec.rb +400 -492
  211. data/spec/models/get_speech_webhook_spec.rb +608 -698
  212. data/spec/models/grammar_file_built_in_spec.rb +76 -78
  213. data/spec/models/grammar_type_spec.rb +25 -27
  214. data/spec/models/hangup_spec.rb +74 -91
  215. data/spec/models/if_machine_spec.rb +25 -27
  216. data/spec/models/inbound_call_webhook_spec.rb +372 -433
  217. data/spec/models/incoming_number_list_spec.rb +290 -326
  218. data/spec/models/incoming_number_request_spec.rb +137 -156
  219. data/spec/models/incoming_number_result_spec.rb +584 -613
  220. data/spec/models/language_spec.rb +121 -123
  221. data/spec/models/leave_conference_webhook_spec.rb +342 -402
  222. data/spec/models/log_level_spec.rb +28 -30
  223. data/spec/models/log_list_spec.rb +290 -326
  224. data/spec/models/log_result_spec.rb +275 -311
  225. data/spec/models/machine_detected_webhook_spec.rb +402 -482
  226. data/spec/models/machine_type_spec.rb +25 -27
  227. data/spec/models/make_call_request_spec.rb +354 -383
  228. data/spec/models/message_delivery_webhook_spec.rb +358 -384
  229. data/spec/models/message_direction_spec.rb +25 -27
  230. data/spec/models/message_request_spec.rb +325 -352
  231. data/spec/models/message_result_spec.rb +674 -598
  232. data/spec/models/message_status_spec.rb +61 -63
  233. data/spec/models/message_status_webhook_spec.rb +406 -451
  234. data/spec/models/messages_list_spec.rb +290 -326
  235. data/spec/models/mutable_resource_model_spec.rb +169 -191
  236. data/spec/models/out_dial_api_connect_webhook_spec.rb +372 -433
  237. data/spec/models/out_dial_connect_webhook_spec.rb +372 -433
  238. data/spec/models/out_dial_spec.rb +355 -401
  239. data/spec/models/out_dial_start_webhook_spec.rb +402 -464
  240. data/spec/models/pagination_model_spec.rb +260 -295
  241. data/spec/models/park_spec.rb +137 -156
  242. data/spec/models/pause_spec.rb +73 -92
  243. data/spec/models/percl_command_spec.rb +77 -94
  244. data/spec/models/percl_script_spec.rb +74 -91
  245. data/spec/models/play_beep_spec.rb +32 -34
  246. data/spec/models/play_early_media_spec.rb +74 -91
  247. data/spec/models/play_spec.rb +136 -157
  248. data/spec/models/queue_list_spec.rb +290 -326
  249. data/spec/models/queue_member_list_spec.rb +290 -326
  250. data/spec/models/queue_member_spec.rb +200 -225
  251. data/spec/models/queue_request_spec.rb +105 -125
  252. data/spec/models/queue_result_spec.rb +391 -419
  253. data/spec/models/queue_result_status_spec.rb +32 -34
  254. data/spec/models/queue_wait_webhook_spec.rb +430 -497
  255. data/spec/models/record_utterance_spec.rb +264 -291
  256. data/spec/models/record_utterance_term_reason_spec.rb +32 -34
  257. data/spec/models/record_webhook_spec.rb +605 -693
  258. data/spec/models/recording_list_spec.rb +290 -326
  259. data/spec/models/recording_result_spec.rb +324 -353
  260. data/spec/models/redirect_spec.rb +74 -91
  261. data/spec/models/redirect_webhook_spec.rb +372 -433
  262. data/spec/models/reject_spec.rb +74 -91
  263. data/spec/models/remove_from_conference_spec.rb +15 -17
  264. data/spec/models/remove_from_queue_notification_webhook_spec.rb +405 -487
  265. data/spec/models/request_type_spec.rb +108 -110
  266. data/spec/models/say_spec.rb +169 -191
  267. data/spec/models/send_digits_spec.rb +136 -157
  268. data/spec/models/set_dtmf_pass_through_spec.rb +75 -91
  269. data/spec/models/set_listen_spec.rb +75 -91
  270. data/spec/models/set_talk_spec.rb +75 -91
  271. data/spec/models/sms_spec.rb +170 -190
  272. data/spec/models/sms_ten_dlc_brand_alt_business_id_type_spec.rb +32 -34
  273. data/spec/models/sms_ten_dlc_brand_entity_type_spec.rb +36 -38
  274. data/spec/models/sms_ten_dlc_brand_identity_status_spec.rb +32 -34
  275. data/spec/models/sms_ten_dlc_brand_relationship_spec.rb +36 -38
  276. data/spec/models/sms_ten_dlc_brand_spec.rb +1083 -1201
  277. data/spec/models/sms_ten_dlc_brand_stock_exchange_spec.rb +125 -127
  278. data/spec/models/sms_ten_dlc_brands_list_result_spec.rb +290 -326
  279. data/spec/models/sms_ten_dlc_campaign_spec.rb +1140 -1208
  280. data/spec/models/sms_ten_dlc_campaign_status_spec.rb +25 -27
  281. data/spec/models/sms_ten_dlc_campaigns_list_result_spec.rb +290 -326
  282. data/spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb +407 -425
  283. data/spec/models/sms_ten_dlc_partner_campaign_spec.rb +965 -1015
  284. data/spec/models/sms_ten_dlc_partner_campaign_status_spec.rb +25 -27
  285. data/spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb +290 -326
  286. data/spec/models/sms_toll_free_campaign_registration_status_spec.rb +36 -38
  287. data/spec/models/sms_toll_free_campaign_spec.rb +271 -314
  288. data/spec/models/sms_toll_free_campaigns_list_result_spec.rb +290 -326
  289. data/spec/models/start_record_call_spec.rb +15 -17
  290. data/spec/models/terminate_conference_spec.rb +15 -17
  291. data/spec/models/tfn_campaign_spec.rb +561 -0
  292. data/spec/models/tfn_spec.rb +74 -91
  293. data/spec/models/transcribe_reason_spec.rb +36 -38
  294. data/spec/models/transcribe_term_reason_spec.rb +25 -27
  295. data/spec/models/transcribe_utterance_record_spec.rb +135 -158
  296. data/spec/models/transcribe_utterance_spec.rb +245 -265
  297. data/spec/models/transcribe_webhook_spec.rb +750 -874
  298. data/spec/models/unpark_spec.rb +15 -17
  299. data/spec/models/update_call_request_spec.rb +75 -109
  300. data/spec/models/update_call_request_status_spec.rb +25 -27
  301. data/spec/models/update_conference_participant_request_spec.rb +138 -156
  302. data/spec/models/update_conference_request_spec.rb +141 -195
  303. data/spec/models/update_conference_request_status_spec.rb +25 -27
  304. data/spec/models/webhook_spec.rb +69 -86
  305. data/spec/quickstart_spec.rb +5 -5
  306. data/spec/spec_helper.rb +92 -100
  307. data/spec/utils/request_verifier_spec.rb +70 -71
  308. data/spec/utils/signature_information_spec.rb +23 -23
  309. data/yarn.lock +9 -0
  310. metadata +9 -153
@@ -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,14 +228,13 @@ 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
237
235
 
238
236
  def operation_server_settings
239
- {
240
- }
237
+ {}
241
238
  end
242
239
 
243
240
  # Returns URL based on server settings
@@ -245,10 +242,10 @@ module Freeclimb
245
242
  # @param index array index of the server settings
246
243
  # @param variables hash of variable and the corresponding value
247
244
  def server_url(index, variables = {}, servers = nil)
248
- servers = server_settings if servers == nil
245
+ servers = server_settings if servers.nil?
249
246
 
250
247
  # check array index out of bound
251
- if (index < 0 || index >= servers.size)
248
+ if index < 0 || index >= servers.size
252
249
  fail ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
253
250
  end
254
251
 
@@ -260,7 +257,7 @@ module Freeclimb
260
257
  # go through variable and assign a value
261
258
  server[:variables].each do |name, variable|
262
259
  if variables.key?(name)
263
- 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])
264
261
  url.gsub! "{" + name.to_s + "}", variables[name]
265
262
  else
266
263
  fail ArgumentError, "The variable `#{name}` in the server URL has invalid value #{variables[name]}. Must be #{server[:variables][name][:enum_values]}."