twilio-ruby 5.47.0 → 5.74.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
  ##