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,21 @@
1
- require 'spec_helper'
1
+ require "spec_helper"
2
2
 
3
- describe 'RequestVerifier' do
3
+ describe "RequestVerifier" do
4
4
  before do
5
- @request_verifier_object = Freeclimb::RequestVerifier.new()
5
+ @request_verifier_object = Freeclimb::RequestVerifier.new
6
6
  end
7
7
 
8
- describe '#check_request_body' do
9
- context 'Request Body is empty' do
8
+ describe "#check_request_body" do
9
+ context "Request Body is empty" do
10
10
  it 'throws "Request Body cannot be empty or null"' do
11
- request_header = "t=1679944186,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
12
- signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
13
- tolerance = 5 * 60
14
- request_body = ""
15
- expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Request Body cannot be empty or null")
16
- end
11
+ request_header = "t=1679944186,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
12
+ signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
13
+ tolerance = 5 * 60
14
+ request_body = ""
15
+ expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Request Body cannot be empty or null")
16
+ end
17
17
  end
18
- context 'Request Body is nil' do
18
+ context "Request Body is nil" do
19
19
  it 'throws "Request Body cannot be empty or null"' do
20
20
  request_header = "t=1679944186,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
21
21
  signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
@@ -26,17 +26,17 @@ describe 'RequestVerifier' do
26
26
  end
27
27
  end
28
28
 
29
- describe '#check_request_header' do
30
- context 'signatures are not present' do
29
+ describe "#check_request_header" do
30
+ context "signatures are not present" do
31
31
  it 'throws "Error with request header, signatures are not present"' do
32
- request_header = "t=1679944186,"
33
- signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
34
- tolerance = 5 * 60
35
- request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
36
- expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Error with request header, signatures are not present")
37
- end
32
+ request_header = "t=1679944186,"
33
+ signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
34
+ tolerance = 5 * 60
35
+ request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
36
+ expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Error with request header, signatures are not present")
37
+ end
38
38
  end
39
- context 'timestamp is not present' do
39
+ context "timestamp is not present" do
40
40
  it 'throws "Error with request header, timestamp is not present"' do
41
41
  request_header = "v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
42
42
  signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
@@ -45,7 +45,7 @@ describe 'RequestVerifier' do
45
45
  expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Error with request header, timestamp is not present")
46
46
  end
47
47
  end
48
- context 'Request header is empty' do
48
+ context "Request header is empty" do
49
49
  it 'throws "Error with request header, Request header is empty"' do
50
50
  request_header = ""
51
51
  signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
@@ -56,17 +56,17 @@ describe 'RequestVerifier' do
56
56
  end
57
57
  end
58
58
 
59
- describe '#check_signing_secret' do
60
- context 'Signing secret is empty' do
59
+ describe "#check_signing_secret" do
60
+ context "Signing secret is empty" do
61
61
  it 'throws "Signing secret cannot be empty or null"' do
62
- request_header = "t=1679944186,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
63
- signing_secret = ""
64
- tolerance = 5 * 60
65
- request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
66
- expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Signing secret cannot be empty or null")
67
- end
62
+ request_header = "t=1679944186,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
63
+ signing_secret = ""
64
+ tolerance = 5 * 60
65
+ request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
66
+ expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Signing secret cannot be empty or null")
67
+ end
68
68
  end
69
- context 'Signing secret is nil' do
69
+ context "Signing secret is nil" do
70
70
  it 'throws "Signing secret cannot be empty or null"' do
71
71
  request_header = "t=1679944186,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
72
72
  signing_secret = nil
@@ -77,17 +77,17 @@ describe 'RequestVerifier' do
77
77
  end
78
78
  end
79
79
 
80
- describe '#check_tolerance' do
81
- context 'Tolerance value is a negative value' do
80
+ describe "#check_tolerance" do
81
+ context "Tolerance value is a negative value" do
82
82
  it 'throws "Tolerance value must be a positive integer"' do
83
- request_header = "t=1679944186,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
84
- signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
85
- tolerance = -5
86
- request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
87
- expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Tolerance value must be a positive integer")
88
- end
83
+ request_header = "t=1679944186,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
84
+ signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
85
+ tolerance = -5
86
+ request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
87
+ expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Tolerance value must be a positive integer")
88
+ end
89
89
  end
90
- context 'Tolerance value is 0' do
90
+ context "Tolerance value is 0" do
91
91
  it 'throws "Tolerance value must be a positive integer"' do
92
92
  request_header = "t=1679944186,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
93
93
  signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
@@ -96,7 +96,7 @@ describe 'RequestVerifier' do
96
96
  expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Tolerance value must be a positive integer")
97
97
  end
98
98
  end
99
- context 'Tolerance value is NaN' do
99
+ context "Tolerance value is NaN" do
100
100
  it 'throws "Tolerance value must be a positive integer"' do
101
101
  request_header = "t=1679944186,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
102
102
  signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
@@ -107,43 +107,42 @@ describe 'RequestVerifier' do
107
107
  end
108
108
  end
109
109
 
110
- describe '#verify_tolerance' do
111
- context 'Request plus tolerance is not less than the current datetime' do
110
+ describe "#verify_tolerance" do
111
+ context "Request plus tolerance is not less than the current datetime" do
112
112
  it 'throws "Request time exceeded tolerance threshold. Request: 1900871395, CurrentTime: currentTimeValue, tolerance, toleranceValue"' do
113
- currentTime = DateTime.now.strftime('%s').to_i
114
- timeCalculation = currentTime - (6 * 60)
115
- request_header = "t=#{timeCalculation},v1=1d798c86e977ff734dec3a8b8d67fe8621dcc1df46ef4212e0bfe2e122b01bfd,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
116
- signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
117
- tolerance = (5 * 60)
118
- request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
119
- expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Request time exceeded tolerance threshold. Request: #{timeCalculation}" + ", CurrentTime: " + currentTime.to_s + ", tolerance: " + tolerance.to_s)
120
- end
113
+ currentTime = DateTime.now.strftime("%s").to_i
114
+ timeCalculation = currentTime - (6 * 60)
115
+ request_header = "t=#{timeCalculation},v1=1d798c86e977ff734dec3a8b8d67fe8621dcc1df46ef4212e0bfe2e122b01bfd,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
116
+ signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
117
+ tolerance = (5 * 60)
118
+ request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
119
+ expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Request time exceeded tolerance threshold. Request: #{timeCalculation}" + ", CurrentTime: " + currentTime.to_s + ", tolerance: " + tolerance.to_s)
120
+ end
121
121
  end
122
122
  end
123
123
 
124
- describe '#verify_signature' do
125
- context 'Signature request is unverified, signing secret does not exist in signatures, potential typo' do
124
+ describe "#verify_signature" do
125
+ context "Signature request is unverified, signing secret does not exist in signatures, potential typo" do
126
126
  it 'throws "Unverified signature request, If this request was unexpected, it may be from a bad actor. Please proceed with caution. If the request was exepected, please check any typos or issues with the signingSecret"' do
127
- currentTime = DateTime.now.strftime('%s').to_i
128
- request_header = "t=#{currentTime},v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
129
- signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7794"
130
- tolerance = (5 * 60)
131
- request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
132
- expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Unverified signature request, If this request was unexpected, it may be from a bad actor. Please proceed with caution. If the request was exepected, please check any typos or issues with the signingSecret")
133
- end
127
+ currentTime = DateTime.now.strftime("%s").to_i
128
+ request_header = "t=#{currentTime},v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
129
+ signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7794"
130
+ tolerance = (5 * 60)
131
+ request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
132
+ expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Unverified signature request, If this request was unexpected, it may be from a bad actor. Please proceed with caution. If the request was exepected, please check any typos or issues with the signingSecret")
133
+ end
134
134
  end
135
135
  end
136
136
 
137
- describe '#verify_request_signature' do
138
- context 'Request is valid' do
139
- it 'No errors are thrown' do
140
- request_header = "t=2130000000,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=6835006e70c9b9f610e8fb3a8b36b52b3f28c12d0a2dab75091c46ca7ec11b20"
141
- signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
142
- tolerance = (5 * 60)
143
- request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
144
- expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.not_to raise_error
145
- end
137
+ describe "#verify_request_signature" do
138
+ context "Request is valid" do
139
+ it "No errors are thrown" do
140
+ request_header = "t=2130000000,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=6835006e70c9b9f610e8fb3a8b36b52b3f28c12d0a2dab75091c46ca7ec11b20"
141
+ signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
142
+ tolerance = (5 * 60)
143
+ request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
144
+ expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.not_to raise_error
145
+ end
146
146
  end
147
147
  end
148
-
149
- end
148
+ end
@@ -1,24 +1,24 @@
1
- require 'spec_helper'
1
+ require "spec_helper"
2
2
  $time_stamp = 1679944186
3
3
  $FIXNUM_MAX = (2**(0.size * 8 - 2) - 1)
4
- describe 'SignatureInformation' do
4
+ describe "SignatureInformation" do
5
5
  before do
6
6
  @request_header = "t=#{$time_stamp},v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
7
7
  @signature_information_object = Freeclimb::SignatureInformation.new(@request_header)
8
8
  end
9
- describe '#is_request_time_valid' do
10
- context 'request time is within tolerance threshold' do
11
- it 'returns true' do
12
- @time_calculation = DateTime.now.strftime('%s').to_i
13
- @request_header = "t=#{@time_calculation},v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
14
- @signature_information_object = Freeclimb::SignatureInformation.new(@request_header)
15
- tolerance = 5 * 60
16
- expect(@signature_information_object.is_request_time_valid(tolerance)).to be true
17
- end
9
+ describe "#is_request_time_valid" do
10
+ context "request time is within tolerance threshold" do
11
+ it "returns true" do
12
+ @time_calculation = DateTime.now.strftime("%s").to_i
13
+ @request_header = "t=#{@time_calculation},v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
14
+ @signature_information_object = Freeclimb::SignatureInformation.new(@request_header)
15
+ tolerance = 5 * 60
16
+ expect(@signature_information_object.is_request_time_valid(tolerance)).to be true
17
+ end
18
18
  end
19
- context 'request time is not within tolerance threshold' do
20
- it 'returns false since it does not match condition of request time being within tolerance threshold' do
21
- @time_calculation = DateTime.now.strftime('%s').to_i - (600 * 60)
19
+ context "request time is not within tolerance threshold" do
20
+ it "returns false since it does not match condition of request time being within tolerance threshold" do
21
+ @time_calculation = DateTime.now.strftime("%s").to_i - (600 * 60)
22
22
  @request_header = "t=#{@time_calculation},v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
23
23
  @signature_information_object = Freeclimb::SignatureInformation.new(@request_header)
24
24
  tolerance = 500 * 60
@@ -26,16 +26,16 @@ describe 'SignatureInformation' do
26
26
  end
27
27
  end
28
28
  end
29
- describe '#is_signature_safe' do
30
- context 'signingSecret exists in signature array' do
31
- it 'returns true' do
32
- request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
33
- signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
34
- expect(@signature_information_object.is_signature_safe(request_body, signing_secret)).to be true
35
- end
29
+ describe "#is_signature_safe" do
30
+ context "signingSecret exists in signature array" do
31
+ it "returns true" do
32
+ request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
33
+ signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
34
+ expect(@signature_information_object.is_signature_safe(request_body, signing_secret)).to be true
35
+ end
36
36
  end
37
- context 'signingSecret does not exists in signature array' do
38
- it 'returns false since it does not match condition of signingSecret being within signature array' do
37
+ context "signingSecret does not exists in signature array" do
38
+ it "returns false since it does not match condition of signingSecret being within signature array" do
39
39
  request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
40
40
  signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7794"
41
41
  expect(@signature_information_object.is_signature_safe(request_body, signing_secret)).to be false
data/yarn.lock CHANGED
@@ -792,6 +792,15 @@ jsonpath-plus@^10.0.0, jsonpath-plus@^10.1.0, jsonpath-plus@^7.2.0:
792
792
  "@jsep-plugin/regex" "^1.0.4"
793
793
  jsep "^1.4.0"
794
794
 
795
+ jsonpath-plus@^10.3.0:
796
+ version "10.3.0"
797
+ resolved "https://registry.yarnpkg.com/jsonpath-plus/-/jsonpath-plus-10.3.0.tgz#59e22e4fa2298c68dfcd70659bb47f0cad525238"
798
+ integrity sha512-8TNmfeTCk2Le33A3vRRwtuworG/L5RrgMvdjhKZxvyShO+mBu2fP50OWUjRLNtvw344DdDarFh9buFAZs5ujeA==
799
+ dependencies:
800
+ "@jsep-plugin/assignment" "^1.3.0"
801
+ "@jsep-plugin/regex" "^1.0.4"
802
+ jsep "^1.4.0"
803
+
795
804
  liquid-json@0.3.1:
796
805
  version "0.3.1"
797
806
  resolved "https://registry.yarnpkg.com/liquid-json/-/liquid-json-0.3.1.tgz#9155a18136d8a6b2615e5f16f9a2448ab6b50eea"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: freeclimb
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0
4
+ version: 5.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-09 00:00:00.000000000 Z
11
+ date: 2025-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -197,6 +197,7 @@ files:
197
197
  - docs/Sms.md
198
198
  - docs/StartRecordCall.md
199
199
  - docs/TFN.md
200
+ - docs/TFNCampaign.md
200
201
  - docs/TerminateConference.md
201
202
  - docs/TranscribeReason.md
202
203
  - docs/TranscribeTermReason.md
@@ -343,6 +344,7 @@ files:
343
344
  - lib/freeclimb/models/start_record_call.rb
344
345
  - lib/freeclimb/models/terminate_conference.rb
345
346
  - lib/freeclimb/models/tfn.rb
347
+ - lib/freeclimb/models/tfn_campaign.rb
346
348
  - lib/freeclimb/models/transcribe_reason.rb
347
349
  - lib/freeclimb/models/transcribe_term_reason.rb
348
350
  - lib/freeclimb/models/transcribe_utterance.rb
@@ -490,6 +492,7 @@ files:
490
492
  - spec/models/sms_toll_free_campaigns_list_result_spec.rb
491
493
  - spec/models/start_record_call_spec.rb
492
494
  - spec/models/terminate_conference_spec.rb
495
+ - spec/models/tfn_campaign_spec.rb
493
496
  - spec/models/tfn_spec.rb
494
497
  - spec/models/transcribe_reason_spec.rb
495
498
  - spec/models/transcribe_term_reason_spec.rb
@@ -512,7 +515,7 @@ homepage: https://freeclimb.com
512
515
  licenses:
513
516
  - Unlicense
514
517
  metadata: {}
515
- post_install_message:
518
+ post_install_message:
516
519
  rdoc_options: []
517
520
  require_paths:
518
521
  - lib
@@ -528,154 +531,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
528
531
  version: '0'
529
532
  requirements: []
530
533
  rubygems_version: 3.3.3
531
- signing_key:
534
+ signing_key:
532
535
  specification_version: 4
533
536
  summary: FreeClimb API Ruby Gem
534
- test_files:
535
- - spec/api/default_api_spec.rb
536
- - spec/api_client_spec.rb
537
- - spec/configuration_spec.rb
538
- - spec/factories.rb
539
- - spec/models/dequeue_spec.rb
540
- - spec/models/create_web_rtc_token_spec.rb
541
- - spec/models/sms_toll_free_campaign_spec.rb
542
- - spec/models/dequeue_webhook_spec.rb
543
- - spec/models/queue_member_spec.rb
544
- - spec/models/call_status_spec.rb
545
- - spec/models/messages_list_spec.rb
546
- - spec/models/update_conference_request_spec.rb
547
- - spec/models/start_record_call_spec.rb
548
- - spec/models/conference_status_webhook_spec.rb
549
- - spec/models/log_result_spec.rb
550
- - spec/models/call_direction_spec.rb
551
- - spec/models/sms_ten_dlc_partner_campaign_spec.rb
552
- - spec/models/enqueue_spec.rb
553
- - spec/models/queue_request_spec.rb
554
- - spec/models/record_webhook_spec.rb
555
- - spec/models/hangup_spec.rb
556
- - spec/models/log_level_spec.rb
557
- - spec/models/queue_wait_webhook_spec.rb
558
- - spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb
559
- - spec/models/transcribe_reason_spec.rb
560
- - spec/models/answered_by_spec.rb
561
- - spec/models/completion_result_status_spec.rb
562
- - spec/models/sms_ten_dlc_brand_entity_type_spec.rb
563
- - spec/models/machine_type_spec.rb
564
- - spec/models/sms_ten_dlc_brand_relationship_spec.rb
565
- - spec/models/reject_spec.rb
566
- - spec/models/filter_logs_request_spec.rb
567
- - spec/models/sms_ten_dlc_campaign_spec.rb
568
- - spec/models/create_conference_request_spec.rb
569
- - spec/models/application_result_spec.rb
570
- - spec/models/available_number_spec.rb
571
- - spec/models/message_direction_spec.rb
572
- - spec/models/application_request_spec.rb
573
- - spec/models/transcribe_utterance_record_spec.rb
574
- - spec/models/queue_member_list_spec.rb
575
- - spec/models/set_dtmf_pass_through_spec.rb
576
- - spec/models/update_call_request_spec.rb
577
- - spec/models/play_spec.rb
578
- - spec/models/out_dial_api_connect_webhook_spec.rb
579
- - spec/models/sms_ten_dlc_campaigns_list_result_spec.rb
580
- - spec/models/get_speech_reason_spec.rb
581
- - spec/models/application_list_spec.rb
582
- - spec/models/machine_detected_webhook_spec.rb
583
- - spec/models/grammar_file_built_in_spec.rb
584
- - spec/models/message_result_spec.rb
585
- - spec/models/sms_ten_dlc_brand_alt_business_id_type_spec.rb
586
- - spec/models/out_dial_connect_webhook_spec.rb
587
- - spec/models/conference_list_spec.rb
588
- - spec/models/make_call_request_spec.rb
589
- - spec/models/log_list_spec.rb
590
- - spec/models/incoming_number_request_spec.rb
591
- - spec/models/get_digits_spec.rb
592
- - spec/models/update_call_request_status_spec.rb
593
- - spec/models/queue_list_spec.rb
594
- - spec/models/webhook_spec.rb
595
- - spec/models/tfn_spec.rb
596
- - spec/models/percl_command_spec.rb
597
- - spec/models/out_dial_spec.rb
598
- - spec/models/transcribe_webhook_spec.rb
599
- - spec/models/message_request_spec.rb
600
- - spec/models/conference_result_spec.rb
601
- - spec/models/buy_incoming_number_request_spec.rb
602
- - spec/models/sms_ten_dlc_brand_identity_status_spec.rb
603
- - spec/models/set_listen_spec.rb
604
- - spec/models/create_conference_webhook_spec.rb
605
- - spec/models/add_to_conference_notification_webhook_spec.rb
606
- - spec/models/if_machine_spec.rb
607
- - spec/models/percl_script_spec.rb
608
- - spec/models/sms_toll_free_campaign_registration_status_spec.rb
609
- - spec/models/record_utterance_spec.rb
610
- - spec/models/conference_recording_status_webhook_spec.rb
611
- - spec/models/out_dial_start_webhook_spec.rb
612
- - spec/models/language_spec.rb
613
- - spec/models/inbound_call_webhook_spec.rb
614
- - spec/models/grammar_type_spec.rb
615
- - spec/models/record_utterance_term_reason_spec.rb
616
- - spec/models/queue_result_spec.rb
617
- - spec/models/conference_participant_result_spec.rb
618
- - spec/models/redirect_spec.rb
619
- - spec/models/say_spec.rb
620
- - spec/models/conference_participant_list_spec.rb
621
- - spec/models/remove_from_conference_spec.rb
622
- - spec/models/add_to_queue_notification_webhook_spec.rb
623
- - spec/models/incoming_number_list_spec.rb
624
- - spec/models/available_number_list_spec.rb
625
- - spec/models/request_type_spec.rb
626
- - spec/models/capabilities_spec.rb
627
- - spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb
628
- - spec/models/get_digits_reason_spec.rb
629
- - spec/models/sms_toll_free_campaigns_list_result_spec.rb
630
- - spec/models/message_status_webhook_spec.rb
631
- - spec/models/call_status_webhook_spec.rb
632
- - spec/models/set_talk_spec.rb
633
- - spec/models/incoming_number_result_spec.rb
634
- - spec/models/mutable_resource_model_spec.rb
635
- - spec/models/transcribe_utterance_spec.rb
636
- - spec/models/call_ended_reason_spec.rb
637
- - spec/models/recording_result_spec.rb
638
- - spec/models/get_digits_webhook_spec.rb
639
- - spec/models/pause_spec.rb
640
- - spec/models/add_to_conference_spec.rb
641
- - spec/models/sms_ten_dlc_brands_list_result_spec.rb
642
- - spec/models/account_request_spec.rb
643
- - spec/models/sms_spec.rb
644
- - spec/models/create_conference_spec.rb
645
- - spec/models/call_control_webhook_spec.rb
646
- - spec/models/send_digits_spec.rb
647
- - spec/models/sms_ten_dlc_partner_campaign_status_spec.rb
648
- - spec/models/leave_conference_webhook_spec.rb
649
- - spec/models/get_speech_webhook_spec.rb
650
- - spec/models/message_status_spec.rb
651
- - spec/models/message_delivery_webhook_spec.rb
652
- - spec/models/call_list_spec.rb
653
- - spec/models/get_speech_spec.rb
654
- - spec/models/sms_ten_dlc_campaign_status_spec.rb
655
- - spec/models/account_type_spec.rb
656
- - spec/models/conference_status_spec.rb
657
- - spec/models/completion_request_spec.rb
658
- - spec/models/account_result_spec.rb
659
- - spec/models/play_early_media_spec.rb
660
- - spec/models/recording_list_spec.rb
661
- - spec/models/account_status_spec.rb
662
- - spec/models/update_conference_request_status_spec.rb
663
- - spec/models/call_result_spec.rb
664
- - spec/models/sms_ten_dlc_brand_stock_exchange_spec.rb
665
- - spec/models/transcribe_term_reason_spec.rb
666
- - spec/models/unpark_spec.rb
667
- - spec/models/redirect_webhook_spec.rb
668
- - spec/models/update_conference_participant_request_spec.rb
669
- - spec/models/sms_ten_dlc_brand_spec.rb
670
- - spec/models/park_spec.rb
671
- - spec/models/queue_result_status_spec.rb
672
- - spec/models/barge_in_reason_spec.rb
673
- - spec/models/remove_from_queue_notification_webhook_spec.rb
674
- - spec/models/completion_result_spec.rb
675
- - spec/models/terminate_conference_spec.rb
676
- - spec/models/pagination_model_spec.rb
677
- - spec/models/play_beep_spec.rb
678
- - spec/quickstart_spec.rb
679
- - spec/spec_helper.rb
680
- - spec/utils/signature_information_spec.rb
681
- - spec/utils/request_verifier_spec.rb
537
+ test_files: []