twilio-ruby 5.40.3 → 5.74.1

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 (916) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/pr-lint.yml +21 -0
  3. data/.github/workflows/test-and-deploy.yml +129 -0
  4. data/.gitignore +5 -1
  5. data/.rubocop.yml +1 -1
  6. data/.rubocop_todo.yml +91 -28
  7. data/CHANGES.md +1145 -0
  8. data/Gemfile +1 -0
  9. data/{LICENSE.md → LICENSE} +1 -1
  10. data/Makefile +12 -11
  11. data/PULL_REQUEST_TEMPLATE.md +4 -4
  12. data/README.md +44 -6
  13. data/examples/examples.rb +1 -1
  14. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  15. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +0 -0
  16. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +0 -0
  17. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  18. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  19. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  20. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
  21. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +0 -0
  22. data/lib/twilio-ruby/http/http_client.rb +20 -4
  23. data/lib/twilio-ruby/http.rb +5 -0
  24. data/lib/twilio-ruby/jwt/access_token.rb +20 -2
  25. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  26. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  27. data/lib/twilio-ruby/rest/accounts/v1.rb +14 -0
  28. data/lib/twilio-ruby/rest/accounts.rb +12 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +2 -2
  30. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +22 -6
  31. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +3 -3
  32. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +4 -4
  33. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +31 -31
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +31 -31
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +31 -31
  36. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +31 -31
  37. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +31 -31
  38. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +31 -31
  39. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +31 -31
  40. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +3 -3
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  42. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +44 -44
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +13 -13
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +6 -6
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +23 -23
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +27 -15
  47. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
  50. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +183 -39
  52. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +102 -50
  53. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +5 -5
  54. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +7 -7
  55. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +6 -6
  56. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +3 -3
  57. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +3 -3
  58. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +14 -7
  59. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +14 -7
  60. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +14 -7
  61. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +27 -20
  62. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +1 -1
  63. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +4 -4
  64. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +3 -3
  65. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +63 -34
  66. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +3 -3
  67. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +3 -3
  68. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +7 -7
  69. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +6 -6
  70. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +3 -3
  71. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +3 -3
  72. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +7 -7
  73. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +41 -14
  74. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +3 -3
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +3 -3
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +3 -3
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +2 -2
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +3 -3
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +2 -2
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +2 -2
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +12 -12
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +7 -4
  84. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +6 -6
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +4 -4
  86. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +3 -3
  87. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +4 -4
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +7 -7
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +7 -7
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +7 -7
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +7 -7
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +7 -7
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +7 -7
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +7 -7
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +7 -7
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +7 -7
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +18 -18
  98. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +3 -3
  99. data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
  100. data/lib/twilio-ruby/rest/api.rb +2 -2
  101. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +3 -3
  102. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +3 -3
  103. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +11 -11
  104. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +3 -3
  105. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +3 -3
  106. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +26 -26
  107. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +3 -3
  108. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +9 -9
  109. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +24 -24
  110. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +8 -8
  111. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +8 -8
  112. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +6 -6
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +3 -3
  114. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +12 -12
  115. data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
  116. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +13 -35
  117. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +44 -49
  118. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +20 -12
  119. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +7 -12
  120. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +5 -11
  121. data/lib/twilio-ruby/rest/bulkexports/v1.rb +14 -10
  122. data/lib/twilio-ruby/rest/bulkexports.rb +4 -2
  123. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +22 -22
  124. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +31 -31
  125. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +8 -8
  126. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +11 -11
  127. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +14 -14
  128. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +2 -2
  129. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +9 -9
  130. data/lib/twilio-ruby/rest/chat/v1/service.rb +41 -41
  131. data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
  132. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +25 -25
  133. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +22 -22
  134. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +57 -57
  135. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +26 -26
  136. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +39 -36
  137. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +23 -23
  138. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +14 -14
  139. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +25 -25
  140. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +30 -24
  141. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +9 -9
  142. data/lib/twilio-ruby/rest/chat/v2/service.rb +43 -43
  143. data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
  144. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  145. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  146. data/lib/twilio-ruby/rest/chat.rb +16 -0
  147. data/lib/twilio-ruby/rest/client.rb +85 -15
  148. data/lib/twilio-ruby/rest/{preview/trusted_comms/business/brand.rb → content/v1/content/approval_fetch.rb} +56 -94
  149. data/lib/twilio-ruby/rest/content/v1/content.rb +346 -0
  150. data/lib/twilio-ruby/rest/content/v1.rb +45 -0
  151. data/lib/twilio-ruby/rest/content.rb +47 -0
  152. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
  153. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +9 -17
  154. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +10 -18
  155. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +8 -16
  156. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +35 -21
  157. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +44 -22
  158. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +12 -20
  159. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +24 -17
  160. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +0 -8
  161. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  162. data/lib/twilio-ruby/rest/conversations/v1/role.rb +13 -21
  163. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +28 -36
  164. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +20 -12
  165. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
  166. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +39 -24
  167. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +14 -22
  168. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +40 -26
  169. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +50 -28
  170. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +18 -26
  171. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +31 -22
  172. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  173. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +19 -27
  174. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  175. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +93 -31
  176. data/lib/twilio-ruby/rest/conversations/v1/service.rb +24 -9
  177. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  178. data/lib/twilio-ruby/rest/conversations/v1/user.rb +78 -25
  179. data/lib/twilio-ruby/rest/conversations/v1.rb +49 -20
  180. data/lib/twilio-ruby/rest/conversations.rb +15 -0
  181. data/lib/twilio-ruby/rest/events/v1/event_type.rb +16 -9
  182. data/lib/twilio-ruby/rest/events/v1/schema/{schema_version.rb → version.rb} +42 -42
  183. data/lib/twilio-ruby/rest/events/v1/schema.rb +16 -16
  184. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  185. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  186. data/lib/twilio-ruby/rest/events/v1/sink.rb +49 -11
  187. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +139 -9
  188. data/lib/twilio-ruby/rest/events/v1/subscription.rb +27 -13
  189. data/lib/twilio-ruby/rest/events/v1.rb +20 -16
  190. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +156 -0
  191. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +5 -5
  192. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +60 -4
  193. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +125 -92
  194. data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +190 -0
  195. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
  196. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
  197. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +405 -0
  198. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
  199. data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +166 -0
  200. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +2 -2
  201. data/lib/twilio-ruby/rest/flex_api/v1.rb +53 -13
  202. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
  203. data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
  204. data/lib/twilio-ruby/rest/flex_api.rb +41 -1
  205. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
  206. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  207. data/lib/twilio-ruby/rest/{fax.rb → frontline_api.rb} +11 -11
  208. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
  209. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +29 -9
  210. data/lib/twilio-ruby/rest/insights/v1/call.rb +16 -8
  211. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +441 -0
  212. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
  213. data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
  214. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  215. data/lib/twilio-ruby/rest/insights/v1/room.rb +499 -0
  216. data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
  217. data/lib/twilio-ruby/rest/insights/v1.rb +51 -4
  218. data/lib/twilio-ruby/rest/insights.rb +28 -0
  219. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +29 -68
  220. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +23 -55
  221. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +28 -71
  222. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +32 -60
  223. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +34 -61
  224. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +19 -39
  225. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +12 -18
  226. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +30 -52
  227. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +200 -315
  228. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +16 -16
  229. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +29 -66
  230. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +23 -50
  231. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +23 -50
  232. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +42 -118
  233. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +47 -101
  234. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +36 -89
  235. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +43 -93
  236. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +19 -41
  237. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +23 -53
  238. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +27 -56
  239. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +30 -54
  240. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +120 -209
  241. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +16 -14
  242. data/lib/twilio-ruby/rest/ip_messaging.rb +8 -10
  243. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +24 -24
  244. data/lib/twilio-ruby/rest/lookups/v1.rb +6 -5
  245. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +336 -0
  246. data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
  247. data/lib/twilio-ruby/rest/lookups.rb +8 -1
  248. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
  249. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -0
  250. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  251. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
  252. data/lib/twilio-ruby/rest/media/v1.rb +76 -0
  253. data/lib/twilio-ruby/rest/media.rb +65 -0
  254. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
  255. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +453 -0
  256. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
  257. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +267 -0
  258. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  259. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +6 -6
  260. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +4 -4
  261. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +4 -4
  262. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +528 -0
  263. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  264. data/lib/twilio-ruby/rest/messaging/v1/service.rb +181 -63
  265. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +699 -0
  266. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  267. data/lib/twilio-ruby/rest/messaging/v1.rb +85 -4
  268. data/lib/twilio-ruby/rest/messaging.rb +46 -0
  269. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +305 -0
  270. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +339 -0
  271. data/lib/twilio-ruby/rest/microvisor/v1.rb +60 -0
  272. data/lib/twilio-ruby/rest/microvisor.rb +54 -0
  273. data/lib/twilio-ruby/rest/monitor/v1/event.rb +15 -15
  274. data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
  275. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +26 -25
  276. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +34 -34
  277. data/lib/twilio-ruby/rest/notify/v1/service.rb +24 -24
  278. data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
  279. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
  280. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +1 -1
  281. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  282. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +128 -26
  283. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +1 -1
  284. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +7 -0
  285. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +1 -1
  286. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
  287. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
  288. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
  289. data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
  290. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
  291. data/lib/twilio-ruby/rest/oauth/v1.rb +63 -0
  292. data/lib/twilio-ruby/rest/oauth.rb +68 -0
  293. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
  294. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +10 -10
  295. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +23 -23
  296. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +11 -11
  297. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
  298. data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
  299. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +4 -8
  300. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +1 -1
  301. data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
  302. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +2 -2
  303. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +2 -2
  304. data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
  305. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +3 -3
  306. data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
  307. data/lib/twilio-ruby/rest/preview.rb +0 -69
  308. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +6 -6
  309. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +2 -2
  310. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +5 -5
  311. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +2 -2
  312. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +6 -6
  313. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +2 -2
  314. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  315. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  316. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +6 -6
  317. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +5 -5
  318. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +3 -3
  319. data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
  320. data/lib/twilio-ruby/rest/pricing.rb +19 -0
  321. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +12 -12
  322. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +6 -6
  323. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +10 -10
  324. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +8 -21
  325. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +12 -53
  326. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +8 -8
  327. data/lib/twilio-ruby/rest/proxy/v1/service.rb +16 -16
  328. data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
  329. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
  330. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
  331. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
  332. data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
  333. data/lib/twilio-ruby/rest/routes.rb +62 -0
  334. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +4 -4
  335. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +4 -4
  336. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  337. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +46 -11
  338. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +4 -4
  339. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +4 -4
  340. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +4 -4
  341. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +5 -5
  342. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +4 -4
  343. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +4 -4
  344. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +4 -4
  345. data/lib/twilio-ruby/rest/serverless/v1/service.rb +12 -5
  346. data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
  347. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +7 -7
  348. data/lib/twilio-ruby/rest/studio/v1/flow.rb +1 -1
  349. data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
  350. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +0 -8
  351. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +0 -8
  352. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +0 -8
  353. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +7 -15
  354. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +3 -11
  355. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +10 -16
  356. data/lib/twilio-ruby/rest/studio/v2/flow.rb +7 -15
  357. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +6 -11
  358. data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
  359. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
  360. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +109 -37
  361. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +419 -0
  362. data/lib/twilio-ruby/rest/supersim/v1/network.rb +11 -11
  363. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +5 -5
  364. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +6 -6
  365. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -0
  366. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  367. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
  368. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +76 -11
  369. data/lib/twilio-ruby/rest/supersim/v1/{command.rb → sms_command.rb} +85 -82
  370. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +32 -18
  371. data/lib/twilio-ruby/rest/supersim/v1.rb +69 -25
  372. data/lib/twilio-ruby/rest/supersim.rb +30 -6
  373. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +6 -14
  374. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +26 -43
  375. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +48 -55
  376. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +6 -14
  377. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +19 -31
  378. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +54 -63
  379. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +7 -15
  380. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +19 -31
  381. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +5 -11
  382. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +15 -29
  383. data/lib/twilio-ruby/rest/sync/v1/service.rb +4 -12
  384. data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
  385. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
  386. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +7 -7
  387. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +47 -30
  388. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +51 -24
  389. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +16 -16
  390. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +24 -20
  391. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +6 -6
  392. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +6 -6
  393. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +9 -9
  394. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +18 -12
  395. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +29 -25
  396. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +3 -3
  397. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +4 -4
  398. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +11 -11
  399. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +2 -2
  400. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +6 -6
  401. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +35 -17
  402. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +21 -19
  403. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +2 -2
  404. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +6 -6
  405. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +13 -13
  406. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +21 -19
  407. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +4 -4
  408. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +6 -6
  409. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +49 -34
  410. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
  411. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +2 -2
  412. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +2 -2
  413. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +2 -2
  414. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +2 -2
  415. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +21 -24
  416. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +47 -31
  417. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
  418. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  419. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  420. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  421. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  422. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  423. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  424. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  425. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  426. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  427. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  428. data/lib/twilio-ruby/rest/{fax/v1/fax/fax_media.rb → trusthub/v1/trust_products/trust_products_entity_assignments.rb} +101 -85
  429. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  430. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  431. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  432. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  433. data/lib/twilio-ruby/rest/verify/v2/form.rb +4 -4
  434. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +215 -0
  435. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +153 -16
  436. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +199 -0
  437. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +121 -63
  438. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +92 -94
  439. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +303 -0
  440. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +49 -41
  441. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +12 -12
  442. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +5 -5
  443. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +3 -3
  444. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +39 -20
  445. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +13 -6
  446. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +34 -23
  447. data/lib/twilio-ruby/rest/verify/v2/service.rb +144 -36
  448. data/lib/twilio-ruby/rest/verify/v2/template.rb +213 -0
  449. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +397 -0
  450. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
  451. data/lib/twilio-ruby/rest/verify/v2.rb +58 -8
  452. data/lib/twilio-ruby/rest/verify.rb +29 -0
  453. data/lib/twilio-ruby/rest/video/v1/composition.rb +49 -35
  454. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +50 -58
  455. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +6 -6
  456. data/lib/twilio-ruby/rest/video/v1/recording.rb +35 -14
  457. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +6 -6
  458. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +15 -8
  459. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +240 -0
  460. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +3 -3
  461. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +25 -9
  462. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
  463. data/lib/twilio-ruby/rest/video/v1/room.rb +102 -18
  464. data/lib/twilio-ruby/rest/video/v1.rb +20 -16
  465. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
  466. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +9 -9
  467. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +2 -2
  468. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +1 -1
  469. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +4 -4
  470. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +23 -23
  471. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +2 -2
  472. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +3 -3
  473. data/lib/twilio-ruby/rest/voice/v1.rb +41 -16
  474. data/lib/twilio-ruby/rest/voice.rb +8 -0
  475. data/lib/twilio-ruby/rest/wireless/v1/command.rb +7 -7
  476. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +16 -16
  477. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +6 -6
  478. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +10 -10
  479. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +38 -48
  480. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +6 -6
  481. data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
  482. data/lib/twilio-ruby/rest.rb +13 -0
  483. data/lib/twilio-ruby/security/request_validator.rb +1 -1
  484. data/lib/twilio-ruby/twiml/voice_response.rb +850 -157
  485. data/lib/twilio-ruby/util/configuration.rb +5 -1
  486. data/lib/twilio-ruby/version.rb +1 -1
  487. data/lib/twilio-ruby.rb +7 -17
  488. data/sonar-project.properties +13 -0
  489. data/twilio-ruby.gemspec +5 -5
  490. metadata +136 -860
  491. data/.travis.yml +0 -44
  492. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -536
  493. data/lib/twilio-ruby/rest/fax/v1.rb +0 -44
  494. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -308
  495. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +0 -291
  496. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +0 -247
  497. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -248
  498. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -232
  499. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -58
  500. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +0 -243
  501. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  502. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel/channel.rb +0 -189
  503. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel.rb +0 -260
  504. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +0 -260
  505. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +0 -108
  506. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +0 -239
  507. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  508. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  509. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +0 -342
  510. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -79
  511. data/spec/framework/request_spec.rb +0 -36
  512. data/spec/framework/serialize_spec.rb +0 -80
  513. data/spec/framework/version_spec.rb +0 -219
  514. data/spec/holodeck/holodeck.rb +0 -66
  515. data/spec/holodeck/hologram.rb +0 -4
  516. data/spec/http/http_client_spec.rb +0 -122
  517. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  518. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  519. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  520. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  521. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  522. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  523. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  524. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  525. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  526. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  527. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  528. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  529. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  530. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  531. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  532. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  533. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  534. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  535. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  536. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  537. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -283
  538. data/spec/integration/api/v2010/account/call_spec.rb +0 -650
  539. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -708
  540. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  541. data/spec/integration/api/v2010/account/conference_spec.rb +0 -458
  542. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  543. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  544. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  545. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  546. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  547. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  548. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
  549. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  550. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  551. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  552. data/spec/integration/api/v2010/account/message_spec.rb +0 -507
  553. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  554. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  555. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  556. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  557. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  558. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  559. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  560. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  561. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  562. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  563. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  564. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  565. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  566. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  567. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  568. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  569. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  570. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  571. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  572. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  573. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  574. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  575. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  576. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  577. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  578. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  579. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  580. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  581. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  582. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  583. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  584. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  585. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  586. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  587. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  588. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  589. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  590. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  591. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  592. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  593. data/spec/integration/api/v2010/account_spec.rb +0 -327
  594. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  595. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  596. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  597. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  598. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  599. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  600. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  601. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  602. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  603. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  604. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  605. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  606. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  607. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  608. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  609. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  610. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -127
  611. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  612. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  613. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  614. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  615. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  616. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  617. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  618. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  619. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  620. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  621. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  622. data/spec/integration/chat/v1/service_spec.rb +0 -295
  623. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  624. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  625. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  626. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  627. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  628. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  629. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  630. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  631. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  632. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  633. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  634. data/spec/integration/chat/v2/service_spec.rb +0 -350
  635. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  636. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  637. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  638. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  639. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -382
  640. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  641. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  642. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  643. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  644. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  645. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  646. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -87
  647. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  648. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  649. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -407
  650. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  651. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  652. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  653. data/spec/integration/conversations/v1/service/user_spec.rb +0 -230
  654. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  655. data/spec/integration/conversations/v1/user_spec.rb +0 -220
  656. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  657. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  658. data/spec/integration/events/v1/schema_spec.rb +0 -46
  659. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  660. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  661. data/spec/integration/events/v1/sink_spec.rb +0 -217
  662. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  663. data/spec/integration/events/v1/subscription_spec.rb +0 -243
  664. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  665. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  666. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  667. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -554
  668. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  669. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  670. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  671. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  672. data/spec/integration/insights/v1/call/summary_spec.rb +0 -62
  673. data/spec/integration/insights/v1/call_spec.rb +0 -46
  674. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  675. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  676. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  677. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  678. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  679. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  680. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  681. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  682. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  683. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  684. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  685. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  686. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  687. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  688. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  689. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  690. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  691. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  692. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  693. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  694. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  695. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  696. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  697. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  698. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  699. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  700. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  701. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  702. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  703. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  704. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  705. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  706. data/spec/integration/notify/v1/service_spec.rb +0 -289
  707. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  708. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  709. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  710. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  711. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  712. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  713. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  714. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  715. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  716. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  717. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -127
  718. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  719. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  720. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  721. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  722. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  723. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  724. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  725. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  726. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  727. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  728. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  729. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  730. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  731. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  732. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  733. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  734. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  735. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  736. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  737. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  738. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  739. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  740. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  741. data/spec/integration/preview/sync/service_spec.rb +0 -241
  742. data/spec/integration/preview/trusted_comms/branded_call_spec.rb +0 -59
  743. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  744. data/spec/integration/preview/trusted_comms/business/brand/branded_channel/channel_spec.rb +0 -54
  745. data/spec/integration/preview/trusted_comms/business/brand/branded_channel_spec.rb +0 -51
  746. data/spec/integration/preview/trusted_comms/business/brand_spec.rb +0 -48
  747. data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +0 -56
  748. data/spec/integration/preview/trusted_comms/business/insights_spec.rb +0 -12
  749. data/spec/integration/preview/trusted_comms/business_spec.rb +0 -46
  750. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  751. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  752. data/spec/integration/preview/trusted_comms/phone_call_spec.rb +0 -59
  753. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  754. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  755. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  756. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  757. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  758. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  759. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  760. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  761. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  762. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  763. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  764. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  765. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  766. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  767. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  768. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  769. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  770. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  771. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  772. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  773. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  774. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  775. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  776. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  777. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  778. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  779. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  780. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  781. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  782. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  783. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  784. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  785. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  786. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  787. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  788. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  789. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  790. data/spec/integration/serverless/v1/service/build_spec.rb +0 -208
  791. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  792. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  793. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  794. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  795. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  796. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  797. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  798. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  799. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  800. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  801. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  802. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  803. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  804. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  805. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  806. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  807. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  808. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  809. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  810. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  811. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  812. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  813. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  814. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  815. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  816. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  817. data/spec/integration/supersim/v1/fleet_spec.rb +0 -214
  818. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  819. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  820. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  821. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  822. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  823. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  824. data/spec/integration/sync/v1/service/document_spec.rb +0 -256
  825. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  826. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  827. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  828. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  829. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  830. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  831. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  832. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  833. data/spec/integration/sync/v1/service_spec.rb +0 -261
  834. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  835. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  836. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  837. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  838. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  839. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  840. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  841. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  842. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  843. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  844. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  845. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  846. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  847. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  848. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  849. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  850. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  851. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  852. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  853. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  854. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  855. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  856. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  857. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  858. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  859. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  860. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  861. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  862. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  863. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -79
  864. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  865. data/spec/integration/verify/v2/form_spec.rb +0 -47
  866. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  867. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -252
  868. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -292
  869. data/spec/integration/verify/v2/service/entity_spec.rb +0 -209
  870. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  871. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  872. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  873. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  874. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  875. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  876. data/spec/integration/verify/v2/service_spec.rb +0 -275
  877. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  878. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  879. data/spec/integration/video/v1/composition_spec.rb +0 -347
  880. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  881. data/spec/integration/video/v1/recording_spec.rb +0 -176
  882. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  883. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  884. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  885. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  886. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  887. data/spec/integration/video/v1/room_spec.rb +0 -291
  888. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  889. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  890. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  891. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  892. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  893. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  894. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  895. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  896. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  897. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  898. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  899. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  900. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  901. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  902. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  903. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  904. data/spec/jwt/access_token_spec.rb +0 -151
  905. data/spec/jwt/client_capability_spec.rb +0 -104
  906. data/spec/jwt/task_router_spec.rb +0 -172
  907. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  908. data/spec/rest/client_spec.rb +0 -233
  909. data/spec/security/request_validator_spec.rb +0 -125
  910. data/spec/spec_helper.rb +0 -38
  911. data/spec/support/fakeweb.rb +0 -2
  912. data/spec/twilio_spec.rb +0 -17
  913. data/spec/twiml/messaging_response_spec.rb +0 -235
  914. data/spec/twiml/voice_response_spec.rb +0 -847
  915. data/spec/util/configuration_spec.rb +0 -33
  916. data/spec/util/url_encode_spec.rb +0 -12
data/Gemfile CHANGED
@@ -1,2 +1,3 @@
1
1
  source 'https://rubygems.org'
2
+ gem 'simplecov', require: false, group: :test
2
3
  gemspec
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (C) 2020, Twilio, Inc. <help@twilio.com>
3
+ Copyright (C) 2023, Twilio, Inc. <help@twilio.com>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  this software and associated documentation files (the "Software"), to deal in
data/Makefile CHANGED
@@ -1,33 +1,34 @@
1
- .PHONY: githooks install test lint docs docker-build docker-push
1
+ .PHONY: githooks install test test-docker lint docs docker-build docker-push
2
2
 
3
3
  githooks:
4
4
  ln -sf ../../githooks/pre-commit .git/hooks/pre-commit
5
5
 
6
- install: githooks
6
+ install:
7
7
  bundle install --with development; bundle exec rake install
8
8
 
9
- test: lint
9
+ test:
10
10
  bundle exec rake spec
11
11
 
12
- lint:
13
- rubocop --cache true --parallel
12
+ test-docker:
13
+ docker build -t twilio/twilio-ruby .
14
+ docker run twilio/twilio-ruby bundle exec rake spec
14
15
 
15
16
  docs:
16
- yard doc --output-dir ./doc
17
+ bundle exec yard doc --output-dir ./doc
17
18
 
18
19
  authors:
19
20
  echo "Authors\n=======\n\nA huge thanks to all of our contributors:\n\n" > AUTHORS.md
20
21
  git log --raw | grep "^Author: " | cut -d ' ' -f2- | cut -d '<' -f1 | sed 's/^/- /' | sort | uniq >> AUTHORS.md
21
22
 
22
23
  API_DEFINITIONS_SHA=$(shell git log --oneline | grep Regenerated | head -n1 | cut -d ' ' -f 5)
24
+ CURRENT_TAG=$(shell expr "${GITHUB_TAG}" : ".*-rc.*" >/dev/null && echo "rc" || echo "latest")
23
25
  docker-build:
24
26
  docker build -t twilio/twilio-ruby .
25
- docker tag twilio/twilio-ruby twilio/twilio-ruby:${TRAVIS_TAG}
27
+ docker tag twilio/twilio-ruby twilio/twilio-ruby:${GITHUB_TAG}
26
28
  docker tag twilio/twilio-ruby twilio/twilio-ruby:apidefs-${API_DEFINITIONS_SHA}
27
- docker tag twilio/twilio-ruby twilio/twilio-ruby:latest
29
+ docker tag twilio/twilio-ruby twilio/twilio-ruby:${CURRENT_TAG}
28
30
 
29
31
  docker-push:
30
- echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin
31
- docker push twilio/twilio-ruby:${TRAVIS_TAG}
32
+ docker push twilio/twilio-ruby:${GITHUB_TAG}
32
33
  docker push twilio/twilio-ruby:apidefs-${API_DEFINITIONS_SHA}
33
- docker push twilio/twilio-ruby:latest
34
+ docker push twilio/twilio-ruby:${CURRENT_TAG}
@@ -3,7 +3,7 @@ We appreciate the effort for this pull request but before that please make sure
3
3
 
4
4
  Please format the PR title appropriately based on the type of change:
5
5
  <type>[!]: <description>
6
- Where <type> is one of: docs, chore, feat, fix, test.
6
+ Where <type> is one of: docs, chore, feat, fix, test, misc.
7
7
  Add a '!' after the type for breaking changes (e.g. feat!: new breaking feature).
8
8
 
9
9
  **All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.**
@@ -19,13 +19,13 @@ Closes #2
19
19
  A short description of what this PR does.
20
20
 
21
21
  ### Checklist
22
- - [ ] I acknowledge that all my contributions will be made under the project's license
22
+ - [x] I acknowledge that all my contributions will be made under the project's license
23
23
  - [ ] I have made a material change to the repo (functionality, testing, spelling, grammar)
24
- - [ ] I have read the [Contribution Guidelines](CONTRIBUTING.md) and my PR follows them
24
+ - [ ] I have read the [Contribution Guidelines](https://github.com/twilio/twilio-ruby/blob/main/CONTRIBUTING.md) and my PR follows them
25
25
  - [ ] I have titled the PR appropriately
26
26
  - [ ] I have updated my branch with the main branch
27
27
  - [ ] I have added tests that prove my fix is effective or that my feature works
28
- - [ ] I have added necessary documentation about the functionality in the appropriate .md file
28
+ - [ ] I have added the necessary documentation about the functionality in the appropriate .md file
29
29
  - [ ] I have added inline documentation to the code I modified
30
30
 
31
31
  If you have questions, please file a [support ticket](https://twilio.com/help/contact), or create a GitHub Issue in this repository.
data/README.md CHANGED
@@ -1,11 +1,9 @@
1
1
  # twilio-ruby
2
2
 
3
- [![Build Status](https://img.shields.io/travis/twilio/twilio-ruby.svg)][travis]
3
+ [![Tests](https://github.com/twilio/twilio-ruby/actions/workflows/test-and-deploy.yml/badge.svg)][github-actions]
4
4
  [![Gem Version](https://img.shields.io/gem/v/twilio-ruby.svg)](https://rubygems.org/gems/twilio-ruby)
5
5
  [![Learn with TwilioQuest](https://img.shields.io/static/v1?label=TwilioQuest&message=Learn%20to%20contribute%21&color=F22F46&labelColor=1f243c&style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAASFBMVEUAAAAZGRkcHBwjIyMoKCgAAABgYGBoaGiAgICMjIyzs7PJycnMzMzNzc3UoBfd3d3m5ubqrhfrMEDu7u739/f4vSb/3AD///9tbdyEAAAABXRSTlMAAAAAAMJrBrEAAAKoSURBVHgB7ZrRcuI6EESdyxXGYoNFvMD//+l2bSszRgyUYpFAsXOeiJGmj4NkuWx1Qeh+Ekl9DgEXOBwOx+Px5xyQhDykfgq4wG63MxxaR4ddIkg6Ul3g84vCIcjPBA5gmUMeXESrlukuoK33+33uID8TWeLAdOWsKpJYzwVMB7bOzYSGOciyUlXSn0/ABXTosJ1M1SbypZ4O4MbZuIDMU02PMbauhhHMHXbmebmALIiEbbbbbUrpF1gwE9kFfRNAJaP+FQEXCCTGyJ4ngDrjOFo3jEL5JdqjF/pueR4cCeCGgAtwmuRS6gDwaRiGvu+DMFwSBLTE3+jF8JyuV1okPZ+AC4hDFhCHyHQjdjPHUKFDlHSJkHQXMB3KpSwXNGJPcwwTdZiXlRN0gSp0zpWxNtM0beYE0nRH6QIbO7rawwXaBYz0j78gxjokDuv12gVeUuBD0MDi0OQCLvDaAho4juP1Q/jkAncXqIcCfd+7gAu4QLMACCLxpRsSuQh0igu0C9Svhi7weAGZg50L3IE3cai4IfkNZAC8dfdhsUD3CgKBVC9JE5ABAFzg4QL/taYPAAWrHdYcgfLaIgAXWJ7OV38n1LEF8tt2TH29E+QAoDoO5Ve/LtCQDmKM9kPbvCEBApK+IXzbcSJ0cIGF6e8gpcRhUDogWZ8JnaWjPXc/fNnBBUKRngiHgTUSivSzDRDgHZQOLvBQgf8rRt+VdBUUhwkU6VpJ+xcOwQUqZr+mR0kvBUgv6cB4+37hQAkXqE8PwGisGhJtN4xAHMzrsgvI7rccXqSvKh6jltGlrOHA3Xk1At3LC4QiPdX9/0ndHpGVvTjR4bZA1ypAKgVcwE5vx74ulwIugDt8e/X7JgfkucBMIAr26ndnB4UCLnDOqvteQsHlgX9N4A+c4cW3DXSPbwAAAABJRU5ErkJggg==)](https://twil.io/learn-open-source)
6
6
 
7
- **The default branch name for this repository has been changed to `main` as of 07/27/2020.**
8
-
9
7
  ## Documentation
10
8
 
11
9
  The documentation for the Twilio API can be found [here][apidocs].
@@ -24,6 +22,8 @@ This library supports the following Ruby implementations:
24
22
  * Ruby 2.5
25
23
  * Ruby 2.6
26
24
  * Ruby 2.7
25
+ * Ruby 3.0
26
+ * Ruby 3.1
27
27
 
28
28
  ### Migrating from 4.x
29
29
 
@@ -34,13 +34,13 @@ This library supports the following Ruby implementations:
34
34
  To install using [Bundler][bundler] grab the latest stable version:
35
35
 
36
36
  ```ruby
37
- gem 'twilio-ruby', '~> 5.40.3'
37
+ gem 'twilio-ruby', '~> 5.74.1'
38
38
  ```
39
39
 
40
40
  To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
41
41
 
42
42
  ```bash
43
- gem install twilio-ruby -v 5.40.3
43
+ gem install twilio-ruby -v 5.74.1
44
44
  ```
45
45
 
46
46
  To build and install the development branch yourself from the latest source:
@@ -66,6 +66,20 @@ auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
66
66
  @client = Twilio::REST::Client.new account_sid, auth_token
67
67
  ```
68
68
 
69
+ ### Use An API Key
70
+
71
+ ```ruby
72
+ require 'twilio-ruby'
73
+
74
+ # put your own credentials here
75
+ account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
76
+ api_key_sid = 'zzzzzzzzzzzzzzzzzzzzzz'
77
+ api_key_secret = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
78
+
79
+ # set up a client to talk to the Twilio REST API using an API Key
80
+ @client = Twilio::REST::Client.new api_key_sid, api_key_secret, account_sid
81
+ ```
82
+
69
83
  ### Specify a Region and/or Edge
70
84
 
71
85
  To take advantage of Twilio's [Global Infrastructure](https://www.twilio.com/docs/global-infrastructure), specify the target Region and/or Edge for the client:
@@ -83,6 +97,22 @@ To take advantage of Twilio's [Global Infrastructure](https://www.twilio.com/doc
83
97
 
84
98
  This will result in the `hostname` transforming from `api.twilio.com` to `api.sydney.au1.twilio.com`.
85
99
 
100
+ ### Enable Debug logging
101
+
102
+ In order to enable debug logging, pass in a 'logger' instance to the client with the level set to at least 'DEBUG'
103
+
104
+ ```ruby
105
+ @client = Twilio::REST::Client.new account_sid, auth_token
106
+ myLogger = Logger.new(STDOUT)
107
+ myLogger.level = Logger::DEBUG
108
+ @client.logger = myLogger
109
+
110
+ @client = Twilio::REST::Client.new account_sid, auth_token
111
+ myLogger = Logger.new('my_log.log')
112
+ myLogger.level = Logger::DEBUG
113
+ @client.logger = myLogger
114
+ ```
115
+
86
116
  ### Make a Call
87
117
 
88
118
  ```ruby
@@ -127,6 +157,14 @@ message_sid = 'SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
127
157
 
128
158
  To use a custom HTTP client with this helper library, please see the [Twilio documentation](https://www.twilio.com/docs/libraries/ruby/custom-http-clients).
129
159
 
160
+ To apply customizations such as middleware, you can use the `configure_connection` method like so:
161
+
162
+ ```ruby
163
+ @client.http_client.configure_connection do |faraday|
164
+ faraday.use SomeMiddleware
165
+ end
166
+ ```
167
+
130
168
  ### Handling Errors
131
169
 
132
170
  ```ruby
@@ -218,7 +256,7 @@ If you've instead found a bug in the library or would like new features added, g
218
256
  [bundler]: https://bundler.io
219
257
  [rubygems]: https://rubygems.org
220
258
  [gem]: https://rubygems.org/gems/twilio
221
- [travis]: https://travis-ci.org/twilio/twilio-ruby
259
+ [github-actions]: https://github.com/twilio/twilio-ruby/actions/workflows/test-and-deploy.yml
222
260
  [upgrade]: https://github.com/twilio/twilio-ruby/wiki/Ruby-Version-5.x-Upgrade-Guide
223
261
  [issues]: https://github.com/twilio/twilio-ruby/issues
224
262
  [faraday]: https://github.com/lostisland/faraday
data/examples/examples.rb CHANGED
@@ -69,7 +69,7 @@ puts @client.messages('SMXXXXXXXX').fetch.body
69
69
  @client.messages.create(
70
70
  from: '+14159341234',
71
71
  to: '+16105557069',
72
- media_urls: 'http://example.com/media.png'
72
+ media_url: 'http://example.com/media.png'
73
73
  )
74
74
 
75
75
  ################ PHONE NUMBERS ################
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'rack/media_type'
4
+
3
5
  module Rack
4
6
  # Middleware that authenticates webhooks from Twilio using the request
5
7
  # validator.
@@ -19,6 +21,10 @@ module Rack
19
21
  # doesn't validate then the middleware responds immediately with a 403 status.
20
22
 
21
23
  class TwilioWebhookAuthentication
24
+ # Rack's FORM_DATA_MEDIA_TYPES can be modified to taste, so we're slightly
25
+ # more conservative in what we consider form data.
26
+ FORM_URLENCODED_MEDIA_TYPE = Rack::MediaType.type('application/x-www-form-urlencoded')
27
+
22
28
  def initialize(app, auth_token, *paths, &auth_token_lookup)
23
29
  @app = app
24
30
  @auth_token = auth_token
@@ -30,7 +36,7 @@ module Rack
30
36
  return @app.call(env) unless env['PATH_INFO'].match(@path_regex)
31
37
  request = Rack::Request.new(env)
32
38
  original_url = request.url
33
- params = request.post? ? request.POST : {}
39
+ params = extract_params!(request)
34
40
  auth_token = @auth_token || get_auth_token(params['AccountSid'])
35
41
  validator = Twilio::Security::RequestValidator.new(auth_token)
36
42
  signature = env['HTTP_X_TWILIO_SIGNATURE'] || ''
@@ -44,5 +50,23 @@ module Rack
44
50
  ]
45
51
  end
46
52
  end
53
+
54
+ # Extract the params from the the request that we can use to determine the
55
+ # signature. This _may_ modify the passed in request since it may read/rewind
56
+ # the body.
57
+ def extract_params!(request)
58
+ return {} unless request.post?
59
+
60
+ if request.media_type == FORM_URLENCODED_MEDIA_TYPE
61
+ request.POST
62
+ else
63
+ request.body.rewind
64
+ body = request.body.read
65
+ request.body.rewind
66
+ body
67
+ end
68
+ end
69
+
70
+ private :extract_params!
47
71
  end
48
72
  end
File without changes
@@ -16,25 +16,41 @@ module Twilio
16
16
  @ssl_ca_file = ssl_ca_file
17
17
  @timeout = timeout
18
18
  @adapter = Faraday.default_adapter
19
+ @configure_connection_blocks = []
19
20
  end
20
21
 
21
- def _request(request)
22
+ def configure_connection(&block)
23
+ raise ArgumentError, "#{__method__} must be given a block!" unless block_given?
24
+
25
+ @configure_connection_blocks << block
26
+ nil
27
+ end
28
+
29
+ def _request(request) # rubocop:disable Metrics/MethodLength
22
30
  @connection = Faraday.new(url: request.host + ':' + request.port.to_s, ssl: { verify: true }) do |f|
23
31
  f.options.params_encoder = Faraday::FlatParamsEncoder
24
32
  f.request :url_encoded
25
- f.adapter @adapter
26
33
  f.headers = request.headers
27
- f.basic_auth(request.auth[0], request.auth[1])
34
+ if Faraday::VERSION.start_with?('2.')
35
+ f.request(:authorization, :basic, request.auth[0], request.auth[1])
36
+ else
37
+ f.request(:basic_auth, request.auth[0], request.auth[1])
38
+ end
28
39
  f.proxy = "#{@proxy_prot}://#{@proxy_auth}#{@proxy_path}" if @proxy_prot && @proxy_path
29
40
  f.options.open_timeout = request.timeout || @timeout
30
41
  f.options.timeout = request.timeout || @timeout
42
+
43
+ @configure_connection_blocks.each { |block| block.call(f) }
44
+ f.adapter @adapter
31
45
  end
32
46
 
33
47
  @last_request = request
34
48
  @last_response = nil
35
49
 
36
50
  response = send(request)
37
- if response.body && !response.body.empty?
51
+ if (500..599).include?(response.status)
52
+ object = { message: "Server error (#{response.status})", code: response.status }.to_json
53
+ elsif response.body && !response.body.empty?
38
54
  object = response.body
39
55
  elsif response.status == 400
40
56
  object = { message: 'Bad request', code: 400 }.to_json
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ Dir[File.join(__dir__, 'http/**/*.rb')].sort.each do |file|
4
+ require file
5
+ end
@@ -20,7 +20,8 @@ module Twilio
20
20
  :grants,
21
21
  :nbf,
22
22
  :ttl,
23
- :valid_until
23
+ :valid_until,
24
+ :region
24
25
 
25
26
  def initialize(
26
27
  account_sid,
@@ -30,7 +31,8 @@ module Twilio
30
31
  identity: nil,
31
32
  nbf: nil,
32
33
  ttl: 3600,
33
- valid_until: nil
34
+ valid_until: nil,
35
+ region: nil
34
36
  )
35
37
  super(secret_key: secret,
36
38
  issuer: signing_key_sid,
@@ -46,6 +48,7 @@ module Twilio
46
48
  @grants = grants
47
49
  @ttl = ttl
48
50
  @valid_until = valid_until
51
+ @region = region
49
52
  end
50
53
 
51
54
  def add_grant(grant)
@@ -76,6 +79,8 @@ module Twilio
76
79
  cty: 'twilio-fpa;v=1'
77
80
  }
78
81
 
82
+ headers[:twr] = region unless region&.nil?
83
+
79
84
  headers
80
85
  end
81
86
 
@@ -262,6 +267,19 @@ module Twilio
262
267
  payload
263
268
  end
264
269
  end
270
+
271
+ class PlaybackGrant
272
+ include AccessTokenGrant
273
+ attr_accessor :grant
274
+
275
+ def _key
276
+ 'player'
277
+ end
278
+
279
+ def _generate_payload
280
+ grant
281
+ end
282
+ end
265
283
  end
266
284
  end
267
285
  end
@@ -0,0 +1,186 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Accounts < Domain
12
+ class V1 < Version
13
+ class AuthTokenPromotionList < ListResource
14
+ ##
15
+ # Initialize the AuthTokenPromotionList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [AuthTokenPromotionList] AuthTokenPromotionList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ end
24
+
25
+ ##
26
+ # Provide a user friendly representation
27
+ def to_s
28
+ '#<Twilio.Accounts.V1.AuthTokenPromotionList>'
29
+ end
30
+ end
31
+
32
+ class AuthTokenPromotionPage < Page
33
+ ##
34
+ # Initialize the AuthTokenPromotionPage
35
+ # @param [Version] version Version that contains the resource
36
+ # @param [Response] response Response from the API
37
+ # @param [Hash] solution Path solution for the resource
38
+ # @return [AuthTokenPromotionPage] AuthTokenPromotionPage
39
+ def initialize(version, response, solution)
40
+ super(version, response)
41
+
42
+ # Path Solution
43
+ @solution = solution
44
+ end
45
+
46
+ ##
47
+ # Build an instance of AuthTokenPromotionInstance
48
+ # @param [Hash] payload Payload response from the API
49
+ # @return [AuthTokenPromotionInstance] AuthTokenPromotionInstance
50
+ def get_instance(payload)
51
+ AuthTokenPromotionInstance.new(@version, payload, )
52
+ end
53
+
54
+ ##
55
+ # Provide a user friendly representation
56
+ def to_s
57
+ '<Twilio.Accounts.V1.AuthTokenPromotionPage>'
58
+ end
59
+ end
60
+
61
+ class AuthTokenPromotionContext < InstanceContext
62
+ ##
63
+ # Initialize the AuthTokenPromotionContext
64
+ # @param [Version] version Version that contains the resource
65
+ # @return [AuthTokenPromotionContext] AuthTokenPromotionContext
66
+ def initialize(version)
67
+ super(version)
68
+
69
+ # Path Solution
70
+ @solution = {}
71
+ @uri = "/AuthTokens/Promote"
72
+ end
73
+
74
+ ##
75
+ # Update the AuthTokenPromotionInstance
76
+ # @return [AuthTokenPromotionInstance] Updated AuthTokenPromotionInstance
77
+ def update
78
+ payload = @version.update('POST', @uri)
79
+
80
+ AuthTokenPromotionInstance.new(@version, payload, )
81
+ end
82
+
83
+ ##
84
+ # Provide a user friendly representation
85
+ def to_s
86
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
87
+ "#<Twilio.Accounts.V1.AuthTokenPromotionContext #{context}>"
88
+ end
89
+
90
+ ##
91
+ # Provide a detailed, user friendly representation
92
+ def inspect
93
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
94
+ "#<Twilio.Accounts.V1.AuthTokenPromotionContext #{context}>"
95
+ end
96
+ end
97
+
98
+ class AuthTokenPromotionInstance < InstanceResource
99
+ ##
100
+ # Initialize the AuthTokenPromotionInstance
101
+ # @param [Version] version Version that contains the resource
102
+ # @param [Hash] payload payload that contains response from Twilio
103
+ # @return [AuthTokenPromotionInstance] AuthTokenPromotionInstance
104
+ def initialize(version, payload)
105
+ super(version)
106
+
107
+ # Marshaled Properties
108
+ @properties = {
109
+ 'account_sid' => payload['account_sid'],
110
+ 'auth_token' => payload['auth_token'],
111
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
112
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
113
+ 'url' => payload['url'],
114
+ }
115
+
116
+ # Context
117
+ @instance_context = nil
118
+ @params = {}
119
+ end
120
+
121
+ ##
122
+ # Generate an instance context for the instance, the context is capable of
123
+ # performing various actions. All instance actions are proxied to the context
124
+ # @return [AuthTokenPromotionContext] AuthTokenPromotionContext for this AuthTokenPromotionInstance
125
+ def context
126
+ unless @instance_context
127
+ @instance_context = AuthTokenPromotionContext.new(@version, )
128
+ end
129
+ @instance_context
130
+ end
131
+
132
+ ##
133
+ # @return [String] The SID of the Account that the secondary Auth Token was created for
134
+ def account_sid
135
+ @properties['account_sid']
136
+ end
137
+
138
+ ##
139
+ # @return [String] The promoted Auth Token
140
+ def auth_token
141
+ @properties['auth_token']
142
+ end
143
+
144
+ ##
145
+ # @return [Time] The ISO 8601 formatted date and time in UTC when the resource was created
146
+ def date_created
147
+ @properties['date_created']
148
+ end
149
+
150
+ ##
151
+ # @return [Time] The ISO 8601 formatted date and time in UTC when the resource was last updated
152
+ def date_updated
153
+ @properties['date_updated']
154
+ end
155
+
156
+ ##
157
+ # @return [String] The URI for this resource, relative to `https://accounts.twilio.com`
158
+ def url
159
+ @properties['url']
160
+ end
161
+
162
+ ##
163
+ # Update the AuthTokenPromotionInstance
164
+ # @return [AuthTokenPromotionInstance] Updated AuthTokenPromotionInstance
165
+ def update
166
+ context.update
167
+ end
168
+
169
+ ##
170
+ # Provide a user friendly representation
171
+ def to_s
172
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
173
+ "<Twilio.Accounts.V1.AuthTokenPromotionInstance #{values}>"
174
+ end
175
+
176
+ ##
177
+ # Provide a detailed, user friendly representation
178
+ def inspect
179
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
180
+ "<Twilio.Accounts.V1.AuthTokenPromotionInstance #{values}>"
181
+ end
182
+ end
183
+ end
184
+ end
185
+ end
186
+ end