twilio-ruby 5.47.0 → 5.74.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (763) 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 +920 -0
  8. data/Gemfile +1 -0
  9. data/LICENSE +1 -1
  10. data/Makefile +12 -11
  11. data/PULL_REQUEST_TEMPLATE.md +1 -1
  12. data/README.md +16 -8
  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 +13 -0
  25. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +19 -3
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +2 -2
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +2 -2
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +2 -2
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +2 -2
  30. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +2 -2
  31. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +2 -2
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +2 -2
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +4 -4
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +28 -28
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +10 -10
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +8 -8
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +2 -2
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
  42. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +130 -11
  43. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +67 -24
  44. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +2 -2
  45. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +4 -4
  46. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +11 -4
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +11 -4
  48. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +11 -4
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +17 -10
  50. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +34 -5
  51. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +2 -2
  52. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +3 -3
  53. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +1 -1
  54. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +35 -8
  55. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
  56. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
  57. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +5 -5
  58. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +3 -3
  59. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +1 -1
  60. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +1 -1
  61. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +1 -1
  62. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +1 -1
  63. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +1 -1
  64. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +1 -1
  65. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +1 -1
  66. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +1 -1
  67. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +1 -1
  68. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +1 -1
  69. data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
  70. data/lib/twilio-ruby/rest/api.rb +1 -1
  71. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +2 -2
  72. data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
  73. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +1 -9
  74. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +15 -7
  75. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +15 -9
  76. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +0 -8
  77. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +0 -8
  78. data/lib/twilio-ruby/rest/bulkexports/v1.rb +10 -8
  79. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +1 -1
  80. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +2 -2
  81. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +1 -1
  82. data/lib/twilio-ruby/rest/chat/v1/service.rb +2 -2
  83. data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
  84. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +1 -1
  85. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +2 -2
  86. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +10 -4
  87. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +1 -1
  88. data/lib/twilio-ruby/rest/chat/v2/service.rb +4 -4
  89. data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
  90. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  91. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  92. data/lib/twilio-ruby/rest/chat.rb +16 -0
  93. data/lib/twilio-ruby/rest/client.rb +57 -13
  94. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
  95. data/lib/twilio-ruby/rest/content/v1/content.rb +346 -0
  96. data/lib/twilio-ruby/rest/content/v1.rb +45 -0
  97. data/lib/twilio-ruby/rest/content.rb +47 -0
  98. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
  99. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +1 -1
  100. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +13 -6
  101. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +7 -0
  102. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  103. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +18 -2
  104. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
  105. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +8 -0
  106. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +1 -1
  107. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +13 -6
  108. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +7 -0
  109. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  110. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  111. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +44 -0
  112. data/lib/twilio-ruby/rest/conversations/v1/service.rb +23 -0
  113. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  114. data/lib/twilio-ruby/rest/conversations/v1/user.rb +35 -0
  115. data/lib/twilio-ruby/rest/conversations/v1.rb +49 -20
  116. data/lib/twilio-ruby/rest/conversations.rb +15 -0
  117. data/lib/twilio-ruby/rest/events/v1/event_type.rb +16 -9
  118. data/lib/twilio-ruby/rest/events/v1/schema/{schema_version.rb → version.rb} +42 -42
  119. data/lib/twilio-ruby/rest/events/v1/schema.rb +16 -16
  120. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  121. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  122. data/lib/twilio-ruby/rest/events/v1/sink.rb +45 -9
  123. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +139 -9
  124. data/lib/twilio-ruby/rest/events/v1/subscription.rb +14 -8
  125. data/lib/twilio-ruby/rest/events/v1.rb +20 -16
  126. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +156 -0
  127. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +42 -0
  128. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +55 -34
  129. data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +190 -0
  130. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
  131. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
  132. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +405 -0
  133. data/lib/twilio-ruby/rest/{preview/trusted_comms/branded_channel.rb → flex_api/v1/interaction.rb} +76 -68
  134. data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +166 -0
  135. data/lib/twilio-ruby/rest/flex_api/v1.rb +52 -12
  136. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
  137. data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
  138. data/lib/twilio-ruby/rest/flex_api.rb +40 -0
  139. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
  140. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  141. data/lib/twilio-ruby/rest/{fax.rb → frontline_api.rb} +11 -11
  142. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
  143. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +14 -0
  144. data/lib/twilio-ruby/rest/insights/v1/call.rb +16 -8
  145. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +441 -0
  146. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
  147. data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
  148. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +23 -23
  149. data/lib/twilio-ruby/rest/insights/v1/room.rb +58 -46
  150. data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
  151. data/lib/twilio-ruby/rest/insights/v1.rb +41 -9
  152. data/lib/twilio-ruby/rest/insights.rb +21 -1
  153. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +1 -1
  154. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +2 -2
  155. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +1 -1
  156. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +2 -2
  157. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +10 -8
  158. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +1 -1
  159. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +2 -2
  160. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +1 -1
  161. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +4 -4
  162. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +10 -8
  163. data/lib/twilio-ruby/rest/lookups/v1.rb +5 -4
  164. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +336 -0
  165. data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
  166. data/lib/twilio-ruby/rest/lookups.rb +7 -0
  167. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
  168. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -0
  169. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  170. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
  171. data/lib/twilio-ruby/rest/media/v1.rb +76 -0
  172. data/lib/twilio-ruby/rest/media.rb +65 -0
  173. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
  174. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +127 -2
  175. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
  176. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +267 -0
  177. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  178. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +2 -2
  179. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +528 -0
  180. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  181. data/lib/twilio-ruby/rest/messaging/v1/service.rb +145 -27
  182. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +559 -0
  183. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  184. data/lib/twilio-ruby/rest/messaging/v1.rb +69 -25
  185. data/lib/twilio-ruby/rest/messaging.rb +35 -11
  186. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +305 -0
  187. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +339 -0
  188. data/lib/twilio-ruby/rest/microvisor/v1.rb +60 -0
  189. data/lib/twilio-ruby/rest/microvisor.rb +54 -0
  190. data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
  191. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +1 -1
  192. data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
  193. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
  194. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  195. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +128 -26
  196. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +7 -0
  197. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
  198. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
  199. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
  200. data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
  201. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
  202. data/lib/twilio-ruby/rest/oauth/v1.rb +63 -0
  203. data/lib/twilio-ruby/rest/oauth.rb +68 -0
  204. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
  205. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  206. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +2 -2
  207. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
  208. data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
  209. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +1 -1
  210. data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
  211. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +2 -2
  212. data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
  213. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +1 -1
  214. data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
  215. data/lib/twilio-ruby/rest/preview.rb +0 -58
  216. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  217. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  218. data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
  219. data/lib/twilio-ruby/rest/pricing.rb +19 -0
  220. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +1 -1
  221. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +2 -15
  222. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +5 -46
  223. data/lib/twilio-ruby/rest/proxy/v1/service.rb +1 -1
  224. data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
  225. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
  226. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
  227. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
  228. data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
  229. data/lib/twilio-ruby/rest/routes.rb +62 -0
  230. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +1 -1
  231. data/lib/twilio-ruby/rest/serverless/v1/service.rb +7 -0
  232. data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
  233. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
  234. data/lib/twilio-ruby/rest/studio/v1/flow.rb +1 -1
  235. data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
  236. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -1
  237. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +1 -1
  238. data/lib/twilio-ruby/rest/studio/v2/flow.rb +1 -1
  239. data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
  240. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
  241. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +101 -50
  242. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +416 -0
  243. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -0
  244. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  245. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
  246. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +65 -0
  247. data/lib/twilio-ruby/rest/supersim/v1/{command.rb → sms_command.rb} +81 -78
  248. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +26 -12
  249. data/lib/twilio-ruby/rest/supersim/v1.rb +69 -25
  250. data/lib/twilio-ruby/rest/supersim.rb +30 -6
  251. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +9 -16
  252. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +23 -34
  253. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +9 -15
  254. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +22 -35
  255. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +9 -15
  256. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +9 -15
  257. data/lib/twilio-ruby/rest/sync/v1/service.rb +1 -1
  258. data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
  259. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
  260. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +1 -1
  261. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +25 -8
  262. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +34 -10
  263. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +18 -14
  264. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +5 -5
  265. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +10 -4
  266. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +7 -3
  267. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +3 -3
  268. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +6 -6
  269. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  270. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +32 -14
  271. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +17 -15
  272. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +2 -2
  273. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +1 -1
  274. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +17 -15
  275. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +3 -3
  276. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +45 -30
  277. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
  278. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +2 -2
  279. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +19 -3
  280. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
  281. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  282. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  283. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  284. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  285. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  286. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  287. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  288. data/lib/twilio-ruby/rest/{messaging/v1/campaign.rb → trusthub/v1/supporting_document.rb} +125 -143
  289. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  290. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  291. data/lib/twilio-ruby/rest/{fax/v1/fax/fax_media.rb → trusthub/v1/trust_products/trust_products_entity_assignments.rb} +101 -85
  292. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  293. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  294. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  295. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  296. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +215 -0
  297. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +153 -16
  298. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +199 -0
  299. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +111 -28
  300. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +68 -68
  301. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +303 -0
  302. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +31 -11
  303. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +2 -2
  304. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +25 -8
  305. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +8 -1
  306. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +24 -13
  307. data/lib/twilio-ruby/rest/verify/v2/service.rb +99 -12
  308. data/lib/twilio-ruby/rest/{messaging/v1/use_case.rb → verify/v2/template.rb} +66 -51
  309. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +397 -0
  310. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
  311. data/lib/twilio-ruby/rest/verify/v2.rb +58 -8
  312. data/lib/twilio-ruby/rest/verify.rb +29 -0
  313. data/lib/twilio-ruby/rest/video/v1/composition.rb +24 -11
  314. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +0 -8
  315. data/lib/twilio-ruby/rest/video/v1/recording.rb +23 -2
  316. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +9 -2
  317. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +240 -0
  318. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +16 -0
  319. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -6
  320. data/lib/twilio-ruby/rest/video/v1/room.rb +66 -6
  321. data/lib/twilio-ruby/rest/video/v1.rb +20 -16
  322. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
  323. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +2 -2
  324. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +1 -1
  325. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +1 -1
  326. data/lib/twilio-ruby/rest/voice/v1.rb +41 -16
  327. data/lib/twilio-ruby/rest/voice.rb +8 -0
  328. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +6 -6
  329. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +2 -2
  330. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +16 -26
  331. data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
  332. data/lib/twilio-ruby/rest.rb +13 -0
  333. data/lib/twilio-ruby/security/request_validator.rb +1 -1
  334. data/lib/twilio-ruby/twiml/voice_response.rb +789 -108
  335. data/lib/twilio-ruby/version.rb +1 -1
  336. data/lib/twilio-ruby.rb +6 -16
  337. data/sonar-project.properties +13 -0
  338. data/twilio-ruby.gemspec +2 -3
  339. metadata +118 -868
  340. data/.travis.yml +0 -45
  341. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -536
  342. data/lib/twilio-ruby/rest/fax/v1.rb +0 -44
  343. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -294
  344. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +0 -275
  345. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +0 -249
  346. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -251
  347. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -234
  348. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -60
  349. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  350. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  351. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  352. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  353. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -64
  354. data/spec/framework/request_spec.rb +0 -36
  355. data/spec/framework/serialize_spec.rb +0 -80
  356. data/spec/framework/version_spec.rb +0 -219
  357. data/spec/holodeck/holodeck.rb +0 -66
  358. data/spec/holodeck/hologram.rb +0 -4
  359. data/spec/http/http_client_spec.rb +0 -122
  360. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  361. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  362. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  363. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  364. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  365. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  366. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  367. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  368. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  369. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  370. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  371. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  372. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  373. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  374. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  375. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  376. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  377. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  378. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  379. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  380. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  381. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  382. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  383. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  384. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  385. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  386. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  387. data/spec/integration/api/v2010/account/conference_spec.rb +0 -716
  388. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  389. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  390. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  391. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  392. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  393. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  394. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
  395. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  396. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  397. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  398. data/spec/integration/api/v2010/account/message_spec.rb +0 -507
  399. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  400. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  401. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  402. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  403. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  404. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  405. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  406. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  407. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  408. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  409. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  410. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  411. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  412. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  413. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  414. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  415. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  416. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  417. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  418. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  419. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  420. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  421. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  422. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  423. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  424. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  425. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  426. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  427. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  428. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  429. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  430. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  431. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  432. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  433. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  434. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  435. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  436. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  437. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  438. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  439. data/spec/integration/api/v2010/account_spec.rb +0 -327
  440. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  441. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  442. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  443. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  444. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  445. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  446. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  447. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  448. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  449. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  450. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  451. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  452. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  453. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  454. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  455. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  456. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
  457. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  458. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  459. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  460. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  461. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  462. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  463. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  464. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  465. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  466. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  467. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  468. data/spec/integration/chat/v1/service_spec.rb +0 -295
  469. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  470. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  471. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  472. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  473. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  474. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  475. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  476. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  477. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  478. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  479. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  480. data/spec/integration/chat/v2/service_spec.rb +0 -350
  481. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  482. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  483. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  484. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  485. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -402
  486. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  487. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  488. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  489. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  490. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  491. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  492. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -89
  493. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  494. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  495. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -427
  496. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  497. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  498. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  499. data/spec/integration/conversations/v1/service/user_spec.rb +0 -241
  500. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  501. data/spec/integration/conversations/v1/user_spec.rb +0 -231
  502. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  503. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  504. data/spec/integration/events/v1/schema_spec.rb +0 -46
  505. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  506. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  507. data/spec/integration/events/v1/sink_spec.rb +0 -231
  508. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  509. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  510. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  511. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  512. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  513. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -578
  514. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  515. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  516. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  517. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  518. data/spec/integration/insights/v1/call/summary_spec.rb +0 -64
  519. data/spec/integration/insights/v1/call_spec.rb +0 -46
  520. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  521. data/spec/integration/insights/v1/room_spec.rb +0 -164
  522. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  523. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  524. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  525. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  526. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  527. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  528. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  529. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  530. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  531. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  532. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  533. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  534. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  535. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  536. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  537. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  538. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  539. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  540. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  541. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  542. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  543. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  544. data/spec/integration/messaging/v1/brand_registration_spec.rb +0 -143
  545. data/spec/integration/messaging/v1/campaign_spec.rb +0 -194
  546. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  547. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  548. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  549. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  550. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  551. data/spec/integration/messaging/v1/use_case_spec.rb +0 -55
  552. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  553. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  554. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  555. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  556. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  557. data/spec/integration/notify/v1/service_spec.rb +0 -289
  558. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  559. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  560. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  561. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  562. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  563. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  564. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  565. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  566. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  567. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  568. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  569. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  570. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  571. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  572. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  573. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  574. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  575. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  576. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  577. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  578. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  579. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  580. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  581. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  582. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  583. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  584. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  585. data/spec/integration/preview/sync/service/document_spec.rb +0 -252
  586. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  587. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  588. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  589. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  590. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  591. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  592. data/spec/integration/preview/sync/service_spec.rb +0 -241
  593. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  594. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  595. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  596. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  597. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  598. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  599. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  600. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  601. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  602. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  603. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  604. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  605. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  606. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  607. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  608. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  609. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  610. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  611. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  612. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  613. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  614. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  615. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  616. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  617. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  618. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  619. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  620. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  621. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  622. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  623. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  624. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  625. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  626. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  627. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  628. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  629. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  630. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  631. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  632. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  633. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  634. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  635. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  636. data/spec/integration/serverless/v1/service/build_spec.rb +0 -224
  637. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  638. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  639. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  640. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  641. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  642. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  643. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  644. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  645. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  646. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  647. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  648. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  649. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  650. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  651. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  652. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  653. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  654. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  655. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  656. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  657. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  658. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  659. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  660. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  661. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  662. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  663. data/spec/integration/supersim/v1/fleet_spec.rb +0 -222
  664. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  665. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  666. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  667. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  668. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  669. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  670. data/spec/integration/sync/v1/service/document_spec.rb +0 -254
  671. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  672. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  673. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  674. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  675. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  676. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  677. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  678. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  679. data/spec/integration/sync/v1/service_spec.rb +0 -261
  680. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  681. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  682. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  683. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  684. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  685. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  686. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  687. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  688. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  689. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  690. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  691. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  692. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  693. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  694. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  695. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  696. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  697. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  698. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  699. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  700. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  701. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  702. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  703. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  704. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  705. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  706. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  707. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  708. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  709. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  710. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  711. data/spec/integration/verify/v2/form_spec.rb +0 -47
  712. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  713. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  714. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  715. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  716. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  717. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  718. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  719. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  720. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  721. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  722. data/spec/integration/verify/v2/service_spec.rb +0 -279
  723. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  724. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  725. data/spec/integration/video/v1/composition_spec.rb +0 -347
  726. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  727. data/spec/integration/video/v1/recording_spec.rb +0 -176
  728. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  729. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  730. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  731. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  732. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  733. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  734. data/spec/integration/video/v1/room_spec.rb +0 -301
  735. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  736. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  737. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  738. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  739. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  740. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  741. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  742. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  743. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  744. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  745. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  746. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  747. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  748. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  749. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  750. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  751. data/spec/jwt/access_token_spec.rb +0 -159
  752. data/spec/jwt/client_capability_spec.rb +0 -104
  753. data/spec/jwt/task_router_spec.rb +0 -172
  754. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  755. data/spec/rest/client_spec.rb +0 -255
  756. data/spec/security/request_validator_spec.rb +0 -125
  757. data/spec/spec_helper.rb +0 -38
  758. data/spec/support/fakeweb.rb +0 -2
  759. data/spec/twilio_spec.rb +0 -17
  760. data/spec/twiml/messaging_response_spec.rb +0 -235
  761. data/spec/twiml/voice_response_spec.rb +0 -847
  762. data/spec/util/configuration_spec.rb +0 -33
  763. data/spec/util/url_encode_spec.rb +0 -12
@@ -69,13 +69,14 @@ module Twilio
69
69
  # Create a new <Enqueue> element
70
70
  # name:: Friendly name
71
71
  # action:: Action URL
72
+ # max_queue_size:: Maximum size of queue
72
73
  # method:: Action URL method
73
74
  # wait_url:: Wait URL
74
75
  # wait_url_method:: Wait URL method
75
76
  # workflow_sid:: TaskRouter Workflow SID
76
77
  # keyword_args:: additional attributes
77
- def enqueue(name: nil, action: nil, method: nil, wait_url: nil, wait_url_method: nil, workflow_sid: nil, **keyword_args)
78
- enqueue = Enqueue.new(name: name, action: action, method: method, wait_url: wait_url, wait_url_method: wait_url_method, workflow_sid: workflow_sid, **keyword_args)
78
+ def enqueue(name: nil, action: nil, max_queue_size: nil, method: nil, wait_url: nil, wait_url_method: nil, workflow_sid: nil, **keyword_args)
79
+ enqueue = Enqueue.new(name: name, action: action, max_queue_size: max_queue_size, method: method, wait_url: wait_url, wait_url_method: wait_url_method, workflow_sid: workflow_sid, **keyword_args)
79
80
 
80
81
  yield(enqueue) if block_given?
81
82
  append(enqueue)
@@ -194,7 +195,7 @@ module Twilio
194
195
  # message:: Message to say
195
196
  # voice:: Voice to use
196
197
  # loop:: Times to loop message
197
- # language:: Message langauge
198
+ # language:: Message language
198
199
  # keyword_args:: additional attributes
199
200
  def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
200
201
  say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
@@ -250,9 +251,10 @@ module Twilio
250
251
  # error_type:: Type of error
251
252
  # card_type:: Type of the credit card
252
253
  # attempt:: Current attempt count
254
+ # require_matching_inputs:: Require customer to input requested information twice and verify matching.
253
255
  # keyword_args:: additional attributes
254
- def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
255
- prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
256
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
257
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
256
258
 
257
259
  yield(prompt) if block_given?
258
260
  append(prompt)
@@ -469,7 +471,7 @@ module Twilio
469
471
  # message:: Message to say
470
472
  # voice:: Voice to use
471
473
  # loop:: Times to loop message
472
- # language:: Message langauge
474
+ # language:: Message language
473
475
  # keyword_args:: additional attributes
474
476
  def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
475
477
  say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
@@ -543,25 +545,593 @@ module Twilio
543
545
  # words:: Words to emphasize
544
546
  # level:: Specify the degree of emphasis
545
547
  # keyword_args:: additional attributes
546
- def emphasis(words, level: nil, **keyword_args)
547
- append(SsmlEmphasis.new(words, level: level, **keyword_args))
548
+ def emphasis(words: nil, level: nil, **keyword_args)
549
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
550
+
551
+ yield(emphasis) if block_given?
552
+ append(emphasis)
553
+ end
554
+
555
+ ##
556
+ # Create a new <Lang> element
557
+ # words:: Words to speak
558
+ # xmlLang:: Specify the language
559
+ # keyword_args:: additional attributes
560
+ def lang(words: nil, xmlLang: nil, **keyword_args)
561
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
562
+
563
+ yield(lang) if block_given?
564
+ append(lang)
565
+ end
566
+
567
+ ##
568
+ # Create a new <P> element
569
+ # words:: Words to speak
570
+ # keyword_args:: additional attributes
571
+ def p(words: nil, **keyword_args)
572
+ p = SsmlP.new(words: words, **keyword_args)
573
+
574
+ yield(p) if block_given?
575
+ append(p)
576
+ end
577
+
578
+ ##
579
+ # Create a new <Phoneme> element
580
+ # words:: Words to speak
581
+ # alphabet:: Specify the phonetic alphabet
582
+ # ph:: Specifiy the phonetic symbols for pronunciation
583
+ # keyword_args:: additional attributes
584
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
585
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
586
+ end
587
+
588
+ ##
589
+ # Create a new <Prosody> element
590
+ # words:: Words to speak
591
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
592
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
593
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
594
+ # keyword_args:: additional attributes
595
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
596
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
597
+
598
+ yield(prosody) if block_given?
599
+ append(prosody)
600
+ end
601
+
602
+ ##
603
+ # Create a new <S> element
604
+ # words:: Words to speak
605
+ # keyword_args:: additional attributes
606
+ def s(words: nil, **keyword_args)
607
+ s = SsmlS.new(words: words, **keyword_args)
608
+
609
+ yield(s) if block_given?
610
+ append(s)
611
+ end
612
+
613
+ ##
614
+ # Create a new <Say-As> element
615
+ # words:: Words to be interpreted
616
+ # interpretAs:: Specify the type of words are spoken
617
+ # format:: Specify the format of the date when interpret-as is set to date
618
+ # keyword_args:: additional attributes
619
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
620
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
621
+ end
622
+
623
+ ##
624
+ # Create a new <Sub> element
625
+ # words:: Words to be substituted
626
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
627
+ # keyword_args:: additional attributes
628
+ def sub(words, aliasAttribute: nil, **keyword_args)
629
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
630
+ end
631
+
632
+ ##
633
+ # Create a new <W> element
634
+ # words:: Words to speak
635
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
636
+ # keyword_args:: additional attributes
637
+ def w(words: nil, role: nil, **keyword_args)
638
+ w = SsmlW.new(words: words, role: role, **keyword_args)
639
+
640
+ yield(w) if block_given?
641
+ append(w)
642
+ end
643
+ end
644
+
645
+ ##
646
+ # Improving Pronunciation by Specifying Parts of Speech in <Say>
647
+ class SsmlW < TwiML
648
+ def initialize(words: nil, **keyword_args)
649
+ super(**keyword_args)
650
+ @name = 'w'
651
+ @value = words unless words.nil?
652
+ yield(self) if block_given?
653
+ end
654
+
655
+ ##
656
+ # Create a new <Break> element
657
+ # strength:: Set a pause based on strength
658
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
659
+ # keyword_args:: additional attributes
660
+ def break(strength: nil, time: nil, **keyword_args)
661
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
662
+ end
663
+
664
+ ##
665
+ # Create a new <Emphasis> element
666
+ # words:: Words to emphasize
667
+ # level:: Specify the degree of emphasis
668
+ # keyword_args:: additional attributes
669
+ def emphasis(words: nil, level: nil, **keyword_args)
670
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
671
+
672
+ yield(emphasis) if block_given?
673
+ append(emphasis)
674
+ end
675
+
676
+ ##
677
+ # Create a new <Phoneme> element
678
+ # words:: Words to speak
679
+ # alphabet:: Specify the phonetic alphabet
680
+ # ph:: Specifiy the phonetic symbols for pronunciation
681
+ # keyword_args:: additional attributes
682
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
683
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
684
+ end
685
+
686
+ ##
687
+ # Create a new <Prosody> element
688
+ # words:: Words to speak
689
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
690
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
691
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
692
+ # keyword_args:: additional attributes
693
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
694
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
695
+
696
+ yield(prosody) if block_given?
697
+ append(prosody)
698
+ end
699
+
700
+ ##
701
+ # Create a new <Say-As> element
702
+ # words:: Words to be interpreted
703
+ # interpretAs:: Specify the type of words are spoken
704
+ # format:: Specify the format of the date when interpret-as is set to date
705
+ # keyword_args:: additional attributes
706
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
707
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
708
+ end
709
+
710
+ ##
711
+ # Create a new <Sub> element
712
+ # words:: Words to be substituted
713
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
714
+ # keyword_args:: additional attributes
715
+ def sub(words, aliasAttribute: nil, **keyword_args)
716
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
717
+ end
718
+ end
719
+
720
+ ##
721
+ # Pronouncing Acronyms and Abbreviations in <Say>
722
+ class SsmlSub < TwiML
723
+ def initialize(words, **keyword_args)
724
+ super(**keyword_args)
725
+ @name = 'sub'
726
+ @value = words
727
+ yield(self) if block_given?
728
+ end
729
+ end
730
+
731
+ ##
732
+ # Controlling How Special Types of Words Are Spoken in <Say>
733
+ class SsmlSayAs < TwiML
734
+ def initialize(words, **keyword_args)
735
+ super(**keyword_args)
736
+ @name = 'say-as'
737
+ @value = words
738
+ yield(self) if block_given?
739
+ end
740
+ end
741
+
742
+ ##
743
+ # Controling Volume, Speaking Rate, and Pitch in <Say>
744
+ class SsmlProsody < TwiML
745
+ def initialize(words: nil, **keyword_args)
746
+ super(**keyword_args)
747
+ @name = 'prosody'
748
+ @value = words unless words.nil?
749
+ yield(self) if block_given?
750
+ end
751
+
752
+ ##
753
+ # Create a new <Break> element
754
+ # strength:: Set a pause based on strength
755
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
756
+ # keyword_args:: additional attributes
757
+ def break(strength: nil, time: nil, **keyword_args)
758
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
759
+ end
760
+
761
+ ##
762
+ # Create a new <Emphasis> element
763
+ # words:: Words to emphasize
764
+ # level:: Specify the degree of emphasis
765
+ # keyword_args:: additional attributes
766
+ def emphasis(words: nil, level: nil, **keyword_args)
767
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
768
+
769
+ yield(emphasis) if block_given?
770
+ append(emphasis)
771
+ end
772
+
773
+ ##
774
+ # Create a new <Lang> element
775
+ # words:: Words to speak
776
+ # xmlLang:: Specify the language
777
+ # keyword_args:: additional attributes
778
+ def lang(words: nil, xmlLang: nil, **keyword_args)
779
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
780
+
781
+ yield(lang) if block_given?
782
+ append(lang)
783
+ end
784
+
785
+ ##
786
+ # Create a new <P> element
787
+ # words:: Words to speak
788
+ # keyword_args:: additional attributes
789
+ def p(words: nil, **keyword_args)
790
+ p = SsmlP.new(words: words, **keyword_args)
791
+
792
+ yield(p) if block_given?
793
+ append(p)
794
+ end
795
+
796
+ ##
797
+ # Create a new <Phoneme> element
798
+ # words:: Words to speak
799
+ # alphabet:: Specify the phonetic alphabet
800
+ # ph:: Specifiy the phonetic symbols for pronunciation
801
+ # keyword_args:: additional attributes
802
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
803
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
804
+ end
805
+
806
+ ##
807
+ # Create a new <Prosody> element
808
+ # words:: Words to speak
809
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
810
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
811
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
812
+ # keyword_args:: additional attributes
813
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
814
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
815
+
816
+ yield(prosody) if block_given?
817
+ append(prosody)
818
+ end
819
+
820
+ ##
821
+ # Create a new <S> element
822
+ # words:: Words to speak
823
+ # keyword_args:: additional attributes
824
+ def s(words: nil, **keyword_args)
825
+ s = SsmlS.new(words: words, **keyword_args)
826
+
827
+ yield(s) if block_given?
828
+ append(s)
829
+ end
830
+
831
+ ##
832
+ # Create a new <Say-As> element
833
+ # words:: Words to be interpreted
834
+ # interpretAs:: Specify the type of words are spoken
835
+ # format:: Specify the format of the date when interpret-as is set to date
836
+ # keyword_args:: additional attributes
837
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
838
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
839
+ end
840
+
841
+ ##
842
+ # Create a new <Sub> element
843
+ # words:: Words to be substituted
844
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
845
+ # keyword_args:: additional attributes
846
+ def sub(words, aliasAttribute: nil, **keyword_args)
847
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
848
+ end
849
+
850
+ ##
851
+ # Create a new <W> element
852
+ # words:: Words to speak
853
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
854
+ # keyword_args:: additional attributes
855
+ def w(words: nil, role: nil, **keyword_args)
856
+ w = SsmlW.new(words: words, role: role, **keyword_args)
857
+
858
+ yield(w) if block_given?
859
+ append(w)
860
+ end
861
+ end
862
+
863
+ ##
864
+ # Adding A Pause Between Sentences in <Say>
865
+ class SsmlS < TwiML
866
+ def initialize(words: nil, **keyword_args)
867
+ super(**keyword_args)
868
+ @name = 's'
869
+ @value = words unless words.nil?
870
+ yield(self) if block_given?
871
+ end
872
+
873
+ ##
874
+ # Create a new <Break> element
875
+ # strength:: Set a pause based on strength
876
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
877
+ # keyword_args:: additional attributes
878
+ def break(strength: nil, time: nil, **keyword_args)
879
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
880
+ end
881
+
882
+ ##
883
+ # Create a new <Emphasis> element
884
+ # words:: Words to emphasize
885
+ # level:: Specify the degree of emphasis
886
+ # keyword_args:: additional attributes
887
+ def emphasis(words: nil, level: nil, **keyword_args)
888
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
889
+
890
+ yield(emphasis) if block_given?
891
+ append(emphasis)
892
+ end
893
+
894
+ ##
895
+ # Create a new <Lang> element
896
+ # words:: Words to speak
897
+ # xmlLang:: Specify the language
898
+ # keyword_args:: additional attributes
899
+ def lang(words: nil, xmlLang: nil, **keyword_args)
900
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
901
+
902
+ yield(lang) if block_given?
903
+ append(lang)
904
+ end
905
+
906
+ ##
907
+ # Create a new <Phoneme> element
908
+ # words:: Words to speak
909
+ # alphabet:: Specify the phonetic alphabet
910
+ # ph:: Specifiy the phonetic symbols for pronunciation
911
+ # keyword_args:: additional attributes
912
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
913
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
914
+ end
915
+
916
+ ##
917
+ # Create a new <Prosody> element
918
+ # words:: Words to speak
919
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
920
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
921
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
922
+ # keyword_args:: additional attributes
923
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
924
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
925
+
926
+ yield(prosody) if block_given?
927
+ append(prosody)
928
+ end
929
+
930
+ ##
931
+ # Create a new <Say-As> element
932
+ # words:: Words to be interpreted
933
+ # interpretAs:: Specify the type of words are spoken
934
+ # format:: Specify the format of the date when interpret-as is set to date
935
+ # keyword_args:: additional attributes
936
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
937
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
938
+ end
939
+
940
+ ##
941
+ # Create a new <Sub> element
942
+ # words:: Words to be substituted
943
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
944
+ # keyword_args:: additional attributes
945
+ def sub(words, aliasAttribute: nil, **keyword_args)
946
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
947
+ end
948
+
949
+ ##
950
+ # Create a new <W> element
951
+ # words:: Words to speak
952
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
953
+ # keyword_args:: additional attributes
954
+ def w(words: nil, role: nil, **keyword_args)
955
+ w = SsmlW.new(words: words, role: role, **keyword_args)
956
+
957
+ yield(w) if block_given?
958
+ append(w)
959
+ end
960
+ end
961
+
962
+ ##
963
+ # Using Phonetic Pronunciation in <Say>
964
+ class SsmlPhoneme < TwiML
965
+ def initialize(words, **keyword_args)
966
+ super(**keyword_args)
967
+ @name = 'phoneme'
968
+ @value = words
969
+ yield(self) if block_given?
970
+ end
971
+ end
972
+
973
+ ##
974
+ # Specifying Another Language for Specific Words in <Say>
975
+ class SsmlLang < TwiML
976
+ def initialize(words: nil, **keyword_args)
977
+ super(**keyword_args)
978
+ @name = 'lang'
979
+ @value = words unless words.nil?
980
+ yield(self) if block_given?
981
+ end
982
+
983
+ ##
984
+ # Create a new <Break> element
985
+ # strength:: Set a pause based on strength
986
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
987
+ # keyword_args:: additional attributes
988
+ def break(strength: nil, time: nil, **keyword_args)
989
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
990
+ end
991
+
992
+ ##
993
+ # Create a new <Emphasis> element
994
+ # words:: Words to emphasize
995
+ # level:: Specify the degree of emphasis
996
+ # keyword_args:: additional attributes
997
+ def emphasis(words: nil, level: nil, **keyword_args)
998
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
999
+
1000
+ yield(emphasis) if block_given?
1001
+ append(emphasis)
1002
+ end
1003
+
1004
+ ##
1005
+ # Create a new <Lang> element
1006
+ # words:: Words to speak
1007
+ # xmlLang:: Specify the language
1008
+ # keyword_args:: additional attributes
1009
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1010
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1011
+
1012
+ yield(lang) if block_given?
1013
+ append(lang)
1014
+ end
1015
+
1016
+ ##
1017
+ # Create a new <P> element
1018
+ # words:: Words to speak
1019
+ # keyword_args:: additional attributes
1020
+ def p(words: nil, **keyword_args)
1021
+ p = SsmlP.new(words: words, **keyword_args)
1022
+
1023
+ yield(p) if block_given?
1024
+ append(p)
1025
+ end
1026
+
1027
+ ##
1028
+ # Create a new <Phoneme> element
1029
+ # words:: Words to speak
1030
+ # alphabet:: Specify the phonetic alphabet
1031
+ # ph:: Specifiy the phonetic symbols for pronunciation
1032
+ # keyword_args:: additional attributes
1033
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1034
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1035
+ end
1036
+
1037
+ ##
1038
+ # Create a new <Prosody> element
1039
+ # words:: Words to speak
1040
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1041
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1042
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1043
+ # keyword_args:: additional attributes
1044
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1045
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1046
+
1047
+ yield(prosody) if block_given?
1048
+ append(prosody)
548
1049
  end
549
1050
 
550
1051
  ##
551
- # Create a new <Lang> element
1052
+ # Create a new <S> element
552
1053
  # words:: Words to speak
553
- # xmlLang:: Specify the language
554
1054
  # keyword_args:: additional attributes
555
- def lang(words, xmlLang: nil, **keyword_args)
556
- append(SsmlLang.new(words, xmlLang: xmlLang, **keyword_args))
1055
+ def s(words: nil, **keyword_args)
1056
+ s = SsmlS.new(words: words, **keyword_args)
1057
+
1058
+ yield(s) if block_given?
1059
+ append(s)
557
1060
  end
558
1061
 
559
1062
  ##
560
- # Create a new <P> element
1063
+ # Create a new <Say-As> element
1064
+ # words:: Words to be interpreted
1065
+ # interpretAs:: Specify the type of words are spoken
1066
+ # format:: Specify the format of the date when interpret-as is set to date
1067
+ # keyword_args:: additional attributes
1068
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1069
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1070
+ end
1071
+
1072
+ ##
1073
+ # Create a new <Sub> element
1074
+ # words:: Words to be substituted
1075
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1076
+ # keyword_args:: additional attributes
1077
+ def sub(words, aliasAttribute: nil, **keyword_args)
1078
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1079
+ end
1080
+
1081
+ ##
1082
+ # Create a new <W> element
1083
+ # words:: Words to speak
1084
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1085
+ # keyword_args:: additional attributes
1086
+ def w(words: nil, role: nil, **keyword_args)
1087
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1088
+
1089
+ yield(w) if block_given?
1090
+ append(w)
1091
+ end
1092
+ end
1093
+
1094
+ ##
1095
+ # Adding a Pause Between Paragraphs in <Say>
1096
+ class SsmlP < TwiML
1097
+ def initialize(words: nil, **keyword_args)
1098
+ super(**keyword_args)
1099
+ @name = 'p'
1100
+ @value = words unless words.nil?
1101
+ yield(self) if block_given?
1102
+ end
1103
+
1104
+ ##
1105
+ # Create a new <Break> element
1106
+ # strength:: Set a pause based on strength
1107
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1108
+ # keyword_args:: additional attributes
1109
+ def break(strength: nil, time: nil, **keyword_args)
1110
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1111
+ end
1112
+
1113
+ ##
1114
+ # Create a new <Emphasis> element
1115
+ # words:: Words to emphasize
1116
+ # level:: Specify the degree of emphasis
1117
+ # keyword_args:: additional attributes
1118
+ def emphasis(words: nil, level: nil, **keyword_args)
1119
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1120
+
1121
+ yield(emphasis) if block_given?
1122
+ append(emphasis)
1123
+ end
1124
+
1125
+ ##
1126
+ # Create a new <Lang> element
561
1127
  # words:: Words to speak
1128
+ # xmlLang:: Specify the language
562
1129
  # keyword_args:: additional attributes
563
- def p(words, **keyword_args)
564
- append(SsmlP.new(words, **keyword_args))
1130
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1131
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1132
+
1133
+ yield(lang) if block_given?
1134
+ append(lang)
565
1135
  end
566
1136
 
567
1137
  ##
@@ -581,26 +1151,32 @@ module Twilio
581
1151
  # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
582
1152
  # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
583
1153
  # keyword_args:: additional attributes
584
- def prosody(words, volume: nil, rate: nil, pitch: nil, **keyword_args)
585
- append(SsmlProsody.new(words, volume: volume, rate: rate, pitch: pitch, **keyword_args))
1154
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1155
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1156
+
1157
+ yield(prosody) if block_given?
1158
+ append(prosody)
586
1159
  end
587
1160
 
588
1161
  ##
589
1162
  # Create a new <S> element
590
1163
  # words:: Words to speak
591
1164
  # keyword_args:: additional attributes
592
- def s(words, **keyword_args)
593
- append(SsmlS.new(words, **keyword_args))
1165
+ def s(words: nil, **keyword_args)
1166
+ s = SsmlS.new(words: words, **keyword_args)
1167
+
1168
+ yield(s) if block_given?
1169
+ append(s)
594
1170
  end
595
1171
 
596
1172
  ##
597
1173
  # Create a new <Say-As> element
598
1174
  # words:: Words to be interpreted
599
1175
  # interpretAs:: Specify the type of words are spoken
600
- # role:: Specify the format of the date when interpret-as is set to date
1176
+ # format:: Specify the format of the date when interpret-as is set to date
601
1177
  # keyword_args:: additional attributes
602
- def say_as(words, interpretAs: nil, role: nil, **keyword_args)
603
- append(SsmlSayAs.new(words, interpretAs: interpretAs, role: role, **keyword_args))
1178
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1179
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
604
1180
  end
605
1181
 
606
1182
  ##
@@ -617,107 +1193,110 @@ module Twilio
617
1193
  # words:: Words to speak
618
1194
  # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
619
1195
  # keyword_args:: additional attributes
620
- def w(words, role: nil, **keyword_args)
621
- append(SsmlW.new(words, role: role, **keyword_args))
1196
+ def w(words: nil, role: nil, **keyword_args)
1197
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1198
+
1199
+ yield(w) if block_given?
1200
+ append(w)
622
1201
  end
623
1202
  end
624
1203
 
625
1204
  ##
626
- # Improving Pronunciation by Specifying Parts of Speech in <Say>
627
- class SsmlW < TwiML
628
- def initialize(words, **keyword_args)
1205
+ # Emphasizing Words in <Say>
1206
+ class SsmlEmphasis < TwiML
1207
+ def initialize(words: nil, **keyword_args)
629
1208
  super(**keyword_args)
630
- @name = 'w'
631
- @value = words
1209
+ @name = 'emphasis'
1210
+ @value = words unless words.nil?
632
1211
  yield(self) if block_given?
633
1212
  end
634
- end
635
1213
 
636
- ##
637
- # Pronouncing Acronyms and Abbreviations in <Say>
638
- class SsmlSub < TwiML
639
- def initialize(words, **keyword_args)
640
- super(**keyword_args)
641
- @name = 'sub'
642
- @value = words
643
- yield(self) if block_given?
1214
+ ##
1215
+ # Create a new <Break> element
1216
+ # strength:: Set a pause based on strength
1217
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1218
+ # keyword_args:: additional attributes
1219
+ def break(strength: nil, time: nil, **keyword_args)
1220
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
644
1221
  end
645
- end
646
1222
 
647
- ##
648
- # Controlling How Special Types of Words Are Spoken in <Say>
649
- class SsmlSayAs < TwiML
650
- def initialize(words, **keyword_args)
651
- super(**keyword_args)
652
- @name = 'say-as'
653
- @value = words
654
- yield(self) if block_given?
1223
+ ##
1224
+ # Create a new <Emphasis> element
1225
+ # words:: Words to emphasize
1226
+ # level:: Specify the degree of emphasis
1227
+ # keyword_args:: additional attributes
1228
+ def emphasis(words: nil, level: nil, **keyword_args)
1229
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1230
+
1231
+ yield(emphasis) if block_given?
1232
+ append(emphasis)
655
1233
  end
656
- end
657
1234
 
658
- ##
659
- # Adding A Pause Between Sentences in <Say>
660
- class SsmlS < TwiML
661
- def initialize(words, **keyword_args)
662
- super(**keyword_args)
663
- @name = 's'
664
- @value = words
665
- yield(self) if block_given?
1235
+ ##
1236
+ # Create a new <Lang> element
1237
+ # words:: Words to speak
1238
+ # xmlLang:: Specify the language
1239
+ # keyword_args:: additional attributes
1240
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1241
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1242
+
1243
+ yield(lang) if block_given?
1244
+ append(lang)
666
1245
  end
667
- end
668
1246
 
669
- ##
670
- # Controling Volume, Speaking Rate, and Pitch in <Say>
671
- class SsmlProsody < TwiML
672
- def initialize(words, **keyword_args)
673
- super(**keyword_args)
674
- @name = 'prosody'
675
- @value = words
676
- yield(self) if block_given?
1247
+ ##
1248
+ # Create a new <Phoneme> element
1249
+ # words:: Words to speak
1250
+ # alphabet:: Specify the phonetic alphabet
1251
+ # ph:: Specifiy the phonetic symbols for pronunciation
1252
+ # keyword_args:: additional attributes
1253
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1254
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
677
1255
  end
678
- end
679
1256
 
680
- ##
681
- # Using Phonetic Pronunciation in <Say>
682
- class SsmlPhoneme < TwiML
683
- def initialize(words, **keyword_args)
684
- super(**keyword_args)
685
- @name = 'phoneme'
686
- @value = words
687
- yield(self) if block_given?
1257
+ ##
1258
+ # Create a new <Prosody> element
1259
+ # words:: Words to speak
1260
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1261
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1262
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1263
+ # keyword_args:: additional attributes
1264
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1265
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1266
+
1267
+ yield(prosody) if block_given?
1268
+ append(prosody)
688
1269
  end
689
- end
690
1270
 
691
- ##
692
- # Adding a Pause Between Paragraphs in <Say>
693
- class SsmlP < TwiML
694
- def initialize(words, **keyword_args)
695
- super(**keyword_args)
696
- @name = 'p'
697
- @value = words
698
- yield(self) if block_given?
1271
+ ##
1272
+ # Create a new <Say-As> element
1273
+ # words:: Words to be interpreted
1274
+ # interpretAs:: Specify the type of words are spoken
1275
+ # format:: Specify the format of the date when interpret-as is set to date
1276
+ # keyword_args:: additional attributes
1277
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1278
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
699
1279
  end
700
- end
701
1280
 
702
- ##
703
- # Specifying Another Language for Specific Words in <Say>
704
- class SsmlLang < TwiML
705
- def initialize(words, **keyword_args)
706
- super(**keyword_args)
707
- @name = 'lang'
708
- @value = words
709
- yield(self) if block_given?
1281
+ ##
1282
+ # Create a new <Sub> element
1283
+ # words:: Words to be substituted
1284
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1285
+ # keyword_args:: additional attributes
1286
+ def sub(words, aliasAttribute: nil, **keyword_args)
1287
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
710
1288
  end
711
- end
712
1289
 
713
- ##
714
- # Emphasizing Words in <Say>
715
- class SsmlEmphasis < TwiML
716
- def initialize(words, **keyword_args)
717
- super(**keyword_args)
718
- @name = 'emphasis'
719
- @value = words
720
- yield(self) if block_given?
1290
+ ##
1291
+ # Create a new <W> element
1292
+ # words:: Words to speak
1293
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1294
+ # keyword_args:: additional attributes
1295
+ def w(words: nil, role: nil, **keyword_args)
1296
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1297
+
1298
+ yield(w) if block_given?
1299
+ append(w)
721
1300
  end
722
1301
  end
723
1302
 
@@ -748,9 +1327,10 @@ module Twilio
748
1327
  # error_type:: Type of error
749
1328
  # card_type:: Type of the credit card
750
1329
  # attempt:: Current attempt count
1330
+ # require_matching_inputs:: Require customer to input requested information twice and verify matching.
751
1331
  # keyword_args:: additional attributes
752
- def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
753
- prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
1332
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
1333
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
754
1334
 
755
1335
  yield(prompt) if block_given?
756
1336
  append(prompt)
@@ -858,7 +1438,7 @@ module Twilio
858
1438
  # message:: Message to say
859
1439
  # voice:: Voice to use
860
1440
  # loop:: Times to loop message
861
- # language:: Message langauge
1441
+ # language:: Message language
862
1442
  # keyword_args:: additional attributes
863
1443
  def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
864
1444
  say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
@@ -993,9 +1573,16 @@ module Twilio
993
1573
  # status_callback:: Status callback URL
994
1574
  # status_callback_method:: Status callback URL method
995
1575
  # byoc:: BYOC trunk SID (Beta)
1576
+ # machine_detection:: Enable machine detection or end of greeting detection
1577
+ # amd_status_callback_method:: HTTP Method to use with amd_status_callback
1578
+ # amd_status_callback:: The URL we should call to send amd status information to your application
1579
+ # machine_detection_timeout:: Number of seconds to wait for machine detection
1580
+ # machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
1581
+ # machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
1582
+ # machine_detection_silence_timeout:: Number of milliseconds of initial silence
996
1583
  # keyword_args:: additional attributes
997
- def number(phone_number, send_digits: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, byoc: nil, **keyword_args)
998
- append(Number.new(phone_number, send_digits: send_digits, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, byoc: byoc, **keyword_args))
1584
+ def number(phone_number, send_digits: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, byoc: nil, machine_detection: nil, amd_status_callback_method: nil, amd_status_callback: nil, machine_detection_timeout: nil, machine_detection_speech_threshold: nil, machine_detection_speech_end_threshold: nil, machine_detection_silence_timeout: nil, **keyword_args)
1585
+ append(Number.new(phone_number, send_digits: send_digits, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, byoc: byoc, machine_detection: machine_detection, amd_status_callback_method: amd_status_callback_method, amd_status_callback: amd_status_callback, machine_detection_timeout: machine_detection_timeout, machine_detection_speech_threshold: machine_detection_speech_threshold, machine_detection_speech_end_threshold: machine_detection_speech_end_threshold, machine_detection_silence_timeout: machine_detection_silence_timeout, **keyword_args))
999
1586
  end
1000
1587
 
1001
1588
  ##
@@ -1028,9 +1615,16 @@ module Twilio
1028
1615
  # status_callback_event:: Status callback events
1029
1616
  # status_callback:: Status callback URL
1030
1617
  # status_callback_method:: Status callback URL method
1618
+ # machine_detection:: Enable machine detection or end of greeting detection
1619
+ # amd_status_callback_method:: HTTP Method to use with amd_status_callback
1620
+ # amd_status_callback:: The URL we should call to send amd status information to your application
1621
+ # machine_detection_timeout:: Number of seconds to wait for machine detection
1622
+ # machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
1623
+ # machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
1624
+ # machine_detection_silence_timeout:: Number of milliseconds of initial silence
1031
1625
  # keyword_args:: additional attributes
1032
- def sip(sip_url, username: nil, password: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1033
- append(Sip.new(sip_url, username: username, password: password, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args))
1626
+ def sip(sip_url, username: nil, password: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, machine_detection: nil, amd_status_callback_method: nil, amd_status_callback: nil, machine_detection_timeout: nil, machine_detection_speech_threshold: nil, machine_detection_speech_end_threshold: nil, machine_detection_silence_timeout: nil, **keyword_args)
1627
+ append(Sip.new(sip_url, username: username, password: password, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, machine_detection: machine_detection, amd_status_callback_method: amd_status_callback_method, amd_status_callback: amd_status_callback, machine_detection_timeout: machine_detection_timeout, machine_detection_speech_threshold: machine_detection_speech_threshold, machine_detection_speech_end_threshold: machine_detection_speech_end_threshold, machine_detection_silence_timeout: machine_detection_silence_timeout, **keyword_args))
1034
1628
  end
1035
1629
  end
1036
1630
 
@@ -1159,6 +1753,93 @@ module Twilio
1159
1753
  yield(stream) if block_given?
1160
1754
  append(stream)
1161
1755
  end
1756
+
1757
+ ##
1758
+ # Create a new <VirtualAgent> element
1759
+ # connector_name:: Defines the conversation profile Dialogflow needs to use
1760
+ # language:: Language to be used by Dialogflow to transcribe speech
1761
+ # sentiment_analysis:: Whether sentiment analysis needs to be enabled or not
1762
+ # status_callback:: URL to post status callbacks from Twilio
1763
+ # status_callback_method:: HTTP method to use when requesting the status callback URL
1764
+ # keyword_args:: additional attributes
1765
+ def virtual_agent(connector_name: nil, language: nil, sentiment_analysis: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1766
+ virtual_agent = VirtualAgent.new(connector_name: connector_name, language: language, sentiment_analysis: sentiment_analysis, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
1767
+
1768
+ yield(virtual_agent) if block_given?
1769
+ append(virtual_agent)
1770
+ end
1771
+
1772
+ ##
1773
+ # Create a new <Conversation> element
1774
+ # service_instance_sid:: Service instance Sid
1775
+ # inbound_autocreation:: Inbound autocreation
1776
+ # routing_assignment_timeout:: Routing assignment timeout
1777
+ # inbound_timeout:: Inbound timeout
1778
+ # url:: TwiML URL
1779
+ # method:: TwiML URL method
1780
+ # record:: Record
1781
+ # trim:: Trim
1782
+ # recording_status_callback:: Recording status callback URL
1783
+ # recording_status_callback_method:: Recording status callback URL method
1784
+ # recording_status_callback_event:: Recording status callback events
1785
+ # status_callback:: Status callback URL
1786
+ # status_callback_method:: Status callback URL method
1787
+ # status_callback_event:: Events to call status callback URL
1788
+ # keyword_args:: additional attributes
1789
+ def conversation(service_instance_sid: nil, inbound_autocreation: nil, routing_assignment_timeout: nil, inbound_timeout: nil, url: nil, method: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, status_callback: nil, status_callback_method: nil, status_callback_event: nil, **keyword_args)
1790
+ append(Conversation.new(service_instance_sid: service_instance_sid, inbound_autocreation: inbound_autocreation, routing_assignment_timeout: routing_assignment_timeout, inbound_timeout: inbound_timeout, url: url, method: method, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, status_callback_event: status_callback_event, **keyword_args))
1791
+ end
1792
+ end
1793
+
1794
+ ##
1795
+ # <Conversation> TwiML Noun
1796
+ class Conversation < TwiML
1797
+ def initialize(**keyword_args)
1798
+ super(**keyword_args)
1799
+ @name = 'Conversation'
1800
+
1801
+ yield(self) if block_given?
1802
+ end
1803
+ end
1804
+
1805
+ ##
1806
+ # <VirtualAgent> TwiML Noun
1807
+ class VirtualAgent < TwiML
1808
+ def initialize(**keyword_args)
1809
+ super(**keyword_args)
1810
+ @name = 'VirtualAgent'
1811
+
1812
+ yield(self) if block_given?
1813
+ end
1814
+
1815
+ ##
1816
+ # Create a new <Config> element
1817
+ # name:: The name of the custom config
1818
+ # value:: The value of the custom config
1819
+ # keyword_args:: additional attributes
1820
+ def config(name: nil, value: nil, **keyword_args)
1821
+ append(Config.new(name: name, value: value, **keyword_args))
1822
+ end
1823
+
1824
+ ##
1825
+ # Create a new <Parameter> element
1826
+ # name:: The name of the custom parameter
1827
+ # value:: The value of the custom parameter
1828
+ # keyword_args:: additional attributes
1829
+ def parameter(name: nil, value: nil, **keyword_args)
1830
+ append(Parameter.new(name: name, value: value, **keyword_args))
1831
+ end
1832
+ end
1833
+
1834
+ ##
1835
+ # <Config> TwiML Noun
1836
+ class Config < TwiML
1837
+ def initialize(**keyword_args)
1838
+ super(**keyword_args)
1839
+ @name = 'Config'
1840
+
1841
+ yield(self) if block_given?
1842
+ end
1162
1843
  end
1163
1844
 
1164
1845
  ##