twilio-ruby 4.6.1 → 6.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (834) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -0
  3. data/.github/workflows/pr-lint.yml +21 -0
  4. data/.github/workflows/test-and-deploy.yml +139 -0
  5. data/.gitignore +14 -1
  6. data/.rubocop.yml +59 -0
  7. data/.rubocop_todo.yml +261 -0
  8. data/AUTHORS.md +46 -32
  9. data/CHANGES.md +3355 -22
  10. data/CODE_OF_CONDUCT.md +73 -0
  11. data/CONTRIBUTING.md +163 -0
  12. data/Dockerfile +9 -0
  13. data/Gemfile +1 -8
  14. data/ISSUE_TEMPLATE.md +30 -0
  15. data/{LICENSE.md → LICENSE} +12 -12
  16. data/Makefile +28 -6
  17. data/PULL_REQUEST_TEMPLATE.md +31 -0
  18. data/README.md +233 -143
  19. data/UPGRADE.md +40 -0
  20. data/VERSIONS.md +35 -0
  21. data/advanced-examples/custom-http-client.md +170 -0
  22. data/cluster_spec.rb +77 -0
  23. data/examples/examples.rb +47 -58
  24. data/examples/{print-call-log.rb → print_call_log.rb} +6 -6
  25. data/githooks/pre-commit +1 -0
  26. data/lib/rack/twilio_webhook_authentication.rb +32 -7
  27. data/lib/twilio-ruby/base/client_base.rb +121 -0
  28. data/lib/twilio-ruby/framework/request.rb +41 -0
  29. data/lib/twilio-ruby/framework/response.rb +18 -0
  30. data/lib/twilio-ruby/framework/rest/domain.rb +36 -0
  31. data/lib/twilio-ruby/framework/rest/error.rb +39 -0
  32. data/lib/twilio-ruby/framework/rest/helper.rb +11 -0
  33. data/lib/twilio-ruby/framework/rest/obsolete_client.rb +12 -0
  34. data/lib/twilio-ruby/framework/rest/page.rb +103 -0
  35. data/lib/twilio-ruby/framework/rest/resource.rb +23 -0
  36. data/lib/twilio-ruby/framework/rest/version.rb +153 -0
  37. data/lib/twilio-ruby/framework/serialize.rb +81 -0
  38. data/lib/twilio-ruby/framework/values.rb +9 -0
  39. data/lib/twilio-ruby/http/http_client.rb +79 -0
  40. data/lib/twilio-ruby/http.rb +5 -0
  41. data/lib/twilio-ruby/jwt/access_token.rb +226 -0
  42. data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
  43. data/lib/twilio-ruby/jwt/jwt.rb +59 -0
  44. data/lib/twilio-ruby/jwt/task_router.rb +172 -0
  45. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +206 -0
  46. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +378 -0
  47. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +378 -0
  48. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +129 -0
  49. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +169 -0
  50. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +222 -0
  51. data/lib/twilio-ruby/rest/accounts/v1.rb +58 -0
  52. data/lib/twilio-ruby/rest/accounts.rb +20 -10
  53. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +377 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +558 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +622 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +320 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +394 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +394 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +394 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +394 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +394 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +394 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +394 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +432 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +143 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +209 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +264 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +328 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +411 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +324 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +505 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +872 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +872 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +163 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +239 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +959 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +663 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +462 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +496 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +433 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +337 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +411 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +543 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +543 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +543 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +848 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +342 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +174 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +351 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +622 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +164 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +164 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +407 -0
  95. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +375 -0
  96. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +351 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +433 -0
  98. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +365 -0
  99. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +381 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +375 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +514 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +424 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +342 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +394 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +412 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +346 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +346 -0
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +346 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +126 -0
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +356 -0
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +356 -0
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +664 -0
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +423 -0
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +412 -0
  117. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +148 -0
  118. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +178 -0
  119. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +371 -0
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +326 -0
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +326 -0
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +326 -0
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +326 -0
  124. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +326 -0
  125. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +326 -0
  126. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +326 -0
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +326 -0
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +388 -0
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +496 -0
  130. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +128 -0
  131. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +179 -0
  132. data/lib/twilio-ruby/rest/api/v2010/account.rb +989 -0
  133. data/lib/twilio-ruby/rest/api/v2010.rb +132 -0
  134. data/lib/twilio-ruby/rest/api.rb +238 -0
  135. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  136. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +241 -0
  137. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +217 -0
  138. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +389 -0
  139. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +435 -0
  140. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +409 -0
  141. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +473 -0
  142. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +241 -0
  143. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +373 -0
  144. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +436 -0
  145. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +253 -0
  146. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +226 -0
  147. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +525 -0
  148. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +433 -0
  149. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +683 -0
  150. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +207 -0
  151. data/lib/twilio-ruby/rest/autopilot/v1.rb +55 -0
  152. data/lib/twilio-ruby/rest/autopilot.rb +22 -0
  153. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  154. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +306 -0
  155. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +305 -0
  156. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +278 -0
  157. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +254 -0
  158. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +253 -0
  159. data/lib/twilio-ruby/rest/bulkexports/v1.rb +64 -0
  160. data/lib/twilio-ruby/rest/bulkexports.rb +25 -0
  161. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  162. data/lib/twilio-ruby/rest/chat/v1/credential.rb +429 -0
  163. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +385 -0
  164. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +433 -0
  165. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +449 -0
  166. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +541 -0
  167. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +403 -0
  168. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +251 -0
  169. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +472 -0
  170. data/lib/twilio-ruby/rest/chat/v1/service.rb +871 -0
  171. data/lib/twilio-ruby/rest/chat/v1.rb +64 -0
  172. data/lib/twilio-ruby/rest/chat/v2/credential.rb +429 -0
  173. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +378 -0
  174. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +385 -0
  175. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +497 -0
  176. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +524 -0
  177. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +451 -0
  178. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +613 -0
  179. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +403 -0
  180. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +375 -0
  181. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +417 -0
  182. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +516 -0
  183. data/lib/twilio-ruby/rest/chat/v2/service.rb +774 -0
  184. data/lib/twilio-ruby/rest/chat/v2.rb +64 -0
  185. data/lib/twilio-ruby/rest/chat/v3/channel.rb +297 -0
  186. data/lib/twilio-ruby/rest/chat/v3.rb +71 -0
  187. data/lib/twilio-ruby/rest/chat.rb +35 -0
  188. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  189. data/lib/twilio-ruby/rest/client.rb +340 -164
  190. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +208 -0
  191. data/lib/twilio-ruby/rest/content/v1/content.rb +363 -0
  192. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +251 -0
  193. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +265 -0
  194. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  195. data/lib/twilio-ruby/rest/content.rb +15 -0
  196. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +482 -0
  198. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +281 -0
  199. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +287 -0
  200. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +345 -0
  201. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +544 -0
  202. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +505 -0
  203. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +432 -0
  204. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +630 -0
  205. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +435 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  207. data/lib/twilio-ruby/rest/conversations/v1/role.rb +394 -0
  208. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +371 -0
  209. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +334 -0
  210. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +280 -0
  211. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +314 -0
  212. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +356 -0
  213. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +557 -0
  214. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +518 -0
  215. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +445 -0
  216. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +639 -0
  217. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +317 -0
  218. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +403 -0
  219. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +457 -0
  220. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +491 -0
  221. data/lib/twilio-ruby/rest/conversations/v1/service.rb +486 -0
  222. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +452 -0
  223. data/lib/twilio-ruby/rest/conversations/v1/user.rb +482 -0
  224. data/lib/twilio-ruby/rest/conversations/v1.rb +136 -0
  225. data/lib/twilio-ruby/rest/conversations.rb +79 -0
  226. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  227. data/lib/twilio-ruby/rest/events/v1/event_type.rb +312 -0
  228. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +299 -0
  229. data/lib/twilio-ruby/rest/events/v1/schema.rb +235 -0
  230. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +129 -0
  231. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +136 -0
  232. data/lib/twilio-ruby/rest/events/v1/sink.rb +444 -0
  233. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +372 -0
  234. data/lib/twilio-ruby/rest/events/v1/subscription.rb +426 -0
  235. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  236. data/lib/twilio-ruby/rest/events.rb +43 -0
  237. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  238. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +448 -0
  239. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +375 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +518 -0
  241. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +573 -0
  242. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +327 -0
  243. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +228 -0
  244. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +442 -0
  245. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +358 -0
  246. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +443 -0
  247. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +361 -0
  248. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +217 -0
  249. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +141 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +196 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +251 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +339 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +406 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +267 -0
  256. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +187 -0
  257. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +388 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1.rb +208 -0
  259. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +146 -0
  260. data/lib/twilio-ruby/rest/flex_api/v2.rb +40 -0
  261. data/lib/twilio-ruby/rest/flex_api.rb +73 -0
  262. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  263. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +275 -0
  264. data/lib/twilio-ruby/rest/frontline_api/v1.rb +49 -0
  265. data/lib/twilio-ruby/rest/frontline_api.rb +15 -0
  266. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  267. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +319 -0
  268. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  269. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +276 -0
  270. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +268 -0
  271. data/lib/twilio-ruby/rest/insights/v1/call.rb +268 -0
  272. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +493 -0
  273. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +488 -0
  274. data/lib/twilio-ruby/rest/insights/v1/conference.rb +505 -0
  275. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +385 -0
  276. data/lib/twilio-ruby/rest/insights/v1/room.rb +500 -0
  277. data/lib/twilio-ruby/rest/insights/v1/setting.rb +254 -0
  278. data/lib/twilio-ruby/rest/insights/v1.rb +91 -0
  279. data/lib/twilio-ruby/rest/insights.rb +46 -0
  280. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  281. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +510 -0
  282. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +226 -0
  283. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +388 -0
  284. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +248 -0
  285. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +520 -0
  286. data/lib/twilio-ruby/rest/intelligence/v2.rb +64 -0
  287. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  288. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  289. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +429 -0
  290. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +385 -0
  291. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +433 -0
  292. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +449 -0
  293. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +541 -0
  294. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +403 -0
  295. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +251 -0
  296. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +472 -0
  297. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +871 -0
  298. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +64 -0
  299. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +429 -0
  300. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +378 -0
  301. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +385 -0
  302. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +497 -0
  303. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +524 -0
  304. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +451 -0
  305. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +613 -0
  306. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +403 -0
  307. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +375 -0
  308. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +408 -0
  309. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +516 -0
  310. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +774 -0
  311. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +64 -0
  312. data/lib/twilio-ruby/rest/ip_messaging.rb +23 -0
  313. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  314. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +251 -0
  315. data/lib/twilio-ruby/rest/lookups/v1.rb +49 -0
  316. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +370 -0
  317. data/lib/twilio-ruby/rest/lookups/v2.rb +49 -0
  318. data/lib/twilio-ruby/rest/lookups.rb +16 -0
  319. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  320. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +420 -0
  321. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +404 -0
  322. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +252 -0
  323. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +432 -0
  324. data/lib/twilio-ruby/rest/media/v1.rb +79 -0
  325. data/lib/twilio-ruby/rest/media.rb +28 -7
  326. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  327. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +136 -0
  328. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +365 -0
  329. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +497 -0
  330. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  331. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  332. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +289 -0
  333. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +238 -0
  334. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +161 -0
  335. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +214 -0
  336. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +196 -0
  337. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +358 -0
  338. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +329 -0
  339. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +365 -0
  340. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +365 -0
  341. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +513 -0
  342. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +135 -0
  343. data/lib/twilio-ruby/rest/messaging/v1/service.rb +777 -0
  344. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +777 -0
  345. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +123 -0
  346. data/lib/twilio-ruby/rest/messaging/v1.rb +194 -0
  347. data/lib/twilio-ruby/rest/messaging.rb +74 -0
  348. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  349. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +358 -0
  350. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +351 -0
  351. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +208 -0
  352. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +349 -0
  353. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +374 -0
  354. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +367 -0
  355. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +427 -0
  356. data/lib/twilio-ruby/rest/microvisor/v1.rb +94 -0
  357. data/lib/twilio-ruby/rest/microvisor.rb +24 -0
  358. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  359. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +408 -0
  360. data/lib/twilio-ruby/rest/monitor/v1/event.rb +391 -0
  361. data/lib/twilio-ruby/rest/monitor/v1.rb +64 -0
  362. data/lib/twilio-ruby/rest/monitor.rb +25 -0
  363. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  364. data/lib/twilio-ruby/rest/notify/v1/credential.rb +431 -0
  365. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +444 -0
  366. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +320 -0
  367. data/lib/twilio-ruby/rest/notify/v1/service.rb +636 -0
  368. data/lib/twilio-ruby/rest/notify/v1.rb +64 -0
  369. data/lib/twilio-ruby/rest/notify.rb +25 -0
  370. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  371. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +224 -0
  372. data/lib/twilio-ruby/rest/numbers/v1/porting_bulk_portability.rb +229 -0
  373. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_fetch.rb +245 -0
  374. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +263 -0
  375. data/lib/twilio-ruby/rest/numbers/v1.rb +94 -0
  376. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +343 -0
  377. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +403 -0
  378. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +249 -0
  379. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +502 -0
  380. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +285 -0
  381. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +335 -0
  382. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +344 -0
  383. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +201 -0
  384. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +608 -0
  385. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +398 -0
  386. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +297 -0
  387. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +329 -0
  388. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +419 -0
  389. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +297 -0
  390. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +185 -0
  391. data/lib/twilio-ruby/rest/numbers/v2.rb +85 -0
  392. data/lib/twilio-ruby/rest/numbers.rb +12 -0
  393. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  394. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +417 -0
  395. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +401 -0
  396. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +456 -0
  397. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +414 -0
  398. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +504 -0
  399. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +49 -0
  400. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +377 -0
  401. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +456 -0
  402. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +620 -0
  403. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +64 -0
  404. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +308 -0
  405. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +335 -0
  406. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +349 -0
  407. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +439 -0
  408. data/lib/twilio-ruby/rest/preview/marketplace.rb +64 -0
  409. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +389 -0
  410. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +449 -0
  411. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +445 -0
  412. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +389 -0
  413. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +426 -0
  414. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +448 -0
  415. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +389 -0
  416. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +426 -0
  417. data/lib/twilio-ruby/rest/preview/sync/service.rb +505 -0
  418. data/lib/twilio-ruby/rest/preview/sync.rb +49 -0
  419. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +241 -0
  420. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +241 -0
  421. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +217 -0
  422. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +389 -0
  423. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +435 -0
  424. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +409 -0
  425. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +463 -0
  426. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +241 -0
  427. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +373 -0
  428. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +436 -0
  429. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +253 -0
  430. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +226 -0
  431. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +525 -0
  432. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +663 -0
  433. data/lib/twilio-ruby/rest/preview/understand.rb +49 -0
  434. data/lib/twilio-ruby/rest/preview/wireless/command.rb +397 -0
  435. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +458 -0
  436. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +260 -0
  437. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +584 -0
  438. data/lib/twilio-ruby/rest/preview/wireless.rb +79 -0
  439. data/lib/twilio-ruby/rest/preview.rb +102 -0
  440. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  441. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +304 -0
  442. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +115 -0
  443. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +297 -0
  444. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +115 -0
  445. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +304 -0
  446. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +227 -0
  447. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +129 -0
  448. data/lib/twilio-ruby/rest/pricing/v1.rb +52 -0
  449. data/lib/twilio-ruby/rest/pricing/v2/country.rb +299 -0
  450. data/lib/twilio-ruby/rest/pricing/v2/number.rb +240 -0
  451. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +304 -0
  452. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +245 -0
  453. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +129 -0
  454. data/lib/twilio-ruby/rest/pricing/v2.rb +70 -0
  455. data/lib/twilio-ruby/rest/pricing.rb +43 -2
  456. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  457. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +426 -0
  458. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +419 -0
  459. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +439 -0
  460. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +434 -0
  461. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +529 -0
  462. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +406 -0
  463. data/lib/twilio-ruby/rest/proxy/v1/service.rb +569 -0
  464. data/lib/twilio-ruby/rest/proxy/v1.rb +49 -0
  465. data/lib/twilio-ruby/rest/proxy.rb +15 -0
  466. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  467. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +268 -0
  468. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +268 -0
  469. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +268 -0
  470. data/lib/twilio-ruby/rest/routes/v2.rb +79 -0
  471. data/lib/twilio-ruby/rest/routes.rb +32 -0
  472. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  473. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +326 -0
  474. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +419 -0
  475. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  476. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +414 -0
  477. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +347 -0
  478. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +372 -0
  479. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +414 -0
  480. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +463 -0
  481. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +230 -0
  482. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +353 -0
  483. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +419 -0
  484. data/lib/twilio-ruby/rest/serverless/v1/service.rb +533 -0
  485. data/lib/twilio-ruby/rest/serverless/v1.rb +49 -0
  486. data/lib/twilio-ruby/rest/serverless.rb +15 -0
  487. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  488. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +217 -0
  489. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +228 -0
  490. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +372 -0
  491. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +429 -0
  492. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +217 -0
  493. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +228 -0
  494. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +372 -0
  495. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +475 -0
  496. data/lib/twilio-ruby/rest/studio/v1/flow.rb +390 -0
  497. data/lib/twilio-ruby/rest/studio/v1.rb +49 -0
  498. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +217 -0
  499. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  500. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
  501. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +468 -0
  502. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +348 -0
  503. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  504. data/lib/twilio-ruby/rest/studio/v2/flow.rb +529 -0
  505. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +139 -0
  506. data/lib/twilio-ruby/rest/studio/v2.rb +55 -0
  507. data/lib/twilio-ruby/rest/studio.rb +22 -0
  508. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  509. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +403 -0
  510. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +482 -0
  511. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +408 -0
  512. data/lib/twilio-ruby/rest/supersim/v1/network.rb +312 -0
  513. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +344 -0
  514. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +390 -0
  515. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +256 -0
  516. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +249 -0
  517. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +207 -0
  518. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +470 -0
  519. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +368 -0
  520. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +313 -0
  521. data/lib/twilio-ruby/rest/supersim/v1.rb +151 -0
  522. data/lib/twilio-ruby/rest/supersim.rb +88 -0
  523. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  524. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +387 -0
  525. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +463 -0
  526. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +477 -0
  527. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +387 -0
  528. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +477 -0
  529. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +480 -0
  530. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +387 -0
  531. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +477 -0
  532. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +146 -0
  533. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +426 -0
  534. data/lib/twilio-ruby/rest/sync/v1/service.rb +585 -0
  535. data/lib/twilio-ruby/rest/sync/v1.rb +49 -0
  536. data/lib/twilio-ruby/rest/sync.rb +15 -0
  537. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  538. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +412 -0
  539. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +449 -0
  540. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +716 -0
  541. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +630 -0
  542. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +416 -0
  543. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +371 -0
  544. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +291 -0
  545. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +259 -0
  546. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +266 -0
  547. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +581 -0
  548. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +698 -0
  549. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +400 -0
  550. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +246 -0
  551. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +293 -0
  552. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +226 -0
  553. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +262 -0
  554. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +630 -0
  555. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +371 -0
  556. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +256 -0
  557. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +259 -0
  558. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +530 -0
  559. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +360 -0
  560. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +259 -0
  561. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +248 -0
  562. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +730 -0
  563. data/lib/twilio-ruby/rest/taskrouter/v1.rb +49 -0
  564. data/lib/twilio-ruby/rest/taskrouter.rb +15 -0
  565. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  566. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +349 -0
  567. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +349 -0
  568. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +447 -0
  569. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +482 -0
  570. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +231 -0
  571. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +633 -0
  572. data/lib/twilio-ruby/rest/trunking/v1.rb +49 -0
  573. data/lib/twilio-ruby/rest/trunking.rb +15 -0
  574. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  575. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +232 -0
  576. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +211 -0
  577. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +364 -0
  578. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +342 -0
  579. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +340 -0
  580. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +535 -0
  581. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +393 -0
  582. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +292 -0
  583. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +285 -0
  584. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +407 -0
  585. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +292 -0
  586. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +364 -0
  587. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +342 -0
  588. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +340 -0
  589. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +535 -0
  590. data/lib/twilio-ruby/rest/trusthub/v1.rb +160 -0
  591. data/lib/twilio-ruby/rest/trusthub.rb +74 -0
  592. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  593. data/lib/twilio-ruby/rest/verify/v2/form.rb +203 -0
  594. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +231 -0
  595. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +279 -0
  596. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +198 -0
  597. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +508 -0
  598. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +458 -0
  599. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +269 -0
  600. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +429 -0
  601. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +386 -0
  602. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +412 -0
  603. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +427 -0
  604. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +387 -0
  605. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +225 -0
  606. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +454 -0
  607. data/lib/twilio-ruby/rest/verify/v2/service.rb +792 -0
  608. data/lib/twilio-ruby/rest/verify/v2/template.rb +229 -0
  609. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +382 -0
  610. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +247 -0
  611. data/lib/twilio-ruby/rest/verify/v2.rb +106 -0
  612. data/lib/twilio-ruby/rest/verify.rb +58 -0
  613. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  614. data/lib/twilio-ruby/rest/video/v1/composition.rb +487 -0
  615. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +535 -0
  616. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +289 -0
  617. data/lib/twilio-ruby/rest/video/v1/recording.rb +436 -0
  618. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +289 -0
  619. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  620. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +331 -0
  621. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  622. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +338 -0
  623. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +498 -0
  624. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  625. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +423 -0
  626. data/lib/twilio-ruby/rest/video/v1/room.rb +616 -0
  627. data/lib/twilio-ruby/rest/video/v1.rb +106 -0
  628. data/lib/twilio-ruby/rest/video.rb +59 -0
  629. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  630. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +168 -0
  631. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +511 -0
  632. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +447 -0
  633. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +401 -0
  634. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +142 -0
  635. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +202 -0
  636. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +382 -0
  637. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +224 -0
  638. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +130 -0
  639. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +387 -0
  640. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +370 -0
  641. data/lib/twilio-ruby/rest/voice/v1.rb +137 -0
  642. data/lib/twilio-ruby/rest/voice.rb +61 -0
  643. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  644. data/lib/twilio-ruby/rest/wireless/v1/command.rb +418 -0
  645. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +473 -0
  646. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +305 -0
  647. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +246 -0
  648. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +644 -0
  649. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +234 -0
  650. data/lib/twilio-ruby/rest/wireless/v1.rb +85 -0
  651. data/lib/twilio-ruby/rest/wireless.rb +42 -0
  652. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  653. data/lib/twilio-ruby/rest.rb +14 -0
  654. data/lib/twilio-ruby/security/request_validator.rb +150 -0
  655. data/lib/twilio-ruby/twiml/fax_response.rb +45 -0
  656. data/lib/twilio-ruby/twiml/messaging_response.rb +107 -0
  657. data/lib/twilio-ruby/twiml/twiml.rb +126 -0
  658. data/lib/twilio-ruby/twiml/voice_response.rb +1952 -0
  659. data/lib/twilio-ruby/util/configuration.rb +27 -1
  660. data/lib/twilio-ruby/util.rb +5 -1
  661. data/lib/twilio-ruby/version.rb +1 -1
  662. data/lib/twilio-ruby.rb +18 -95
  663. data/sonar-project.properties +13 -0
  664. data/twilio-ruby.gemspec +22 -15
  665. metadata +807 -248
  666. data/.travis.yml +0 -31
  667. data/conf/cacert.pem +0 -3376
  668. data/docs/Makefile +0 -130
  669. data/docs/_themes/LICENSE +0 -45
  670. data/docs/_themes/README.rst +0 -25
  671. data/docs/_themes/flask_theme_support.py +0 -86
  672. data/docs/_themes/kr/layout.html +0 -32
  673. data/docs/_themes/kr/relations.html +0 -19
  674. data/docs/_themes/kr/static/flasky.css_t +0 -469
  675. data/docs/_themes/kr/static/small_flask.css +0 -70
  676. data/docs/_themes/kr/theme.conf +0 -7
  677. data/docs/_themes/kr_small/layout.html +0 -22
  678. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  679. data/docs/_themes/kr_small/theme.conf +0 -10
  680. data/docs/changelog.rst +0 -1
  681. data/docs/conf.py +0 -266
  682. data/docs/faq.rst +0 -42
  683. data/docs/getting-started.rst +0 -117
  684. data/docs/index.rst +0 -135
  685. data/docs/make.bat +0 -170
  686. data/docs/src/pip-delete-this-directory.txt +0 -5
  687. data/docs/usage/accounts.rst +0 -89
  688. data/docs/usage/addresses.rst +0 -101
  689. data/docs/usage/applications.rst +0 -108
  690. data/docs/usage/basics.rst +0 -115
  691. data/docs/usage/caller-ids.rst +0 -47
  692. data/docs/usage/conferences.rst +0 -108
  693. data/docs/usage/errors.rst +0 -29
  694. data/docs/usage/lookups.rst +0 -62
  695. data/docs/usage/messages.rst +0 -137
  696. data/docs/usage/notifications.rst +0 -72
  697. data/docs/usage/phone-calls.rst +0 -185
  698. data/docs/usage/phone-numbers.rst +0 -189
  699. data/docs/usage/pricing.rst +0 -169
  700. data/docs/usage/queues.rst +0 -112
  701. data/docs/usage/recordings.rst +0 -98
  702. data/docs/usage/sip.rst +0 -104
  703. data/docs/usage/taskrouter-tokens.rst +0 -98
  704. data/docs/usage/taskrouter.rst +0 -440
  705. data/docs/usage/token-generation.rst +0 -115
  706. data/docs/usage/transcriptions.rst +0 -32
  707. data/docs/usage/twiml.rst +0 -69
  708. data/docs/usage/validation.rst +0 -107
  709. data/examples/taskrouter.examples.rb +0 -86
  710. data/lib/twilio-ruby/rest/addresses/dependent_phone_numbers.rb +0 -6
  711. data/lib/twilio-ruby/rest/addresses.rb +0 -12
  712. data/lib/twilio-ruby/rest/applications.rb +0 -6
  713. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  714. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  715. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  716. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  717. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  718. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  719. data/lib/twilio-ruby/rest/base_client.rb +0 -130
  720. data/lib/twilio-ruby/rest/call_feedback.rb +0 -28
  721. data/lib/twilio-ruby/rest/call_feedback_summary.rb +0 -13
  722. data/lib/twilio-ruby/rest/calls.rb +0 -33
  723. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  724. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  725. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  726. data/lib/twilio-ruby/rest/errors.rb +0 -14
  727. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  728. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  729. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  730. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  731. data/lib/twilio-ruby/rest/instance_resource.rb +0 -87
  732. data/lib/twilio-ruby/rest/keys.rb +0 -6
  733. data/lib/twilio-ruby/rest/list_resource.rb +0 -100
  734. data/lib/twilio-ruby/rest/lookups/phone_numbers.rb +0 -17
  735. data/lib/twilio-ruby/rest/lookups_client.rb +0 -99
  736. data/lib/twilio-ruby/rest/messages.rb +0 -22
  737. data/lib/twilio-ruby/rest/monitor/alerts.rb +0 -8
  738. data/lib/twilio-ruby/rest/monitor/events.rb +0 -8
  739. data/lib/twilio-ruby/rest/monitor_client.rb +0 -101
  740. data/lib/twilio-ruby/rest/next_gen_list_resource.rb +0 -36
  741. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  742. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  743. data/lib/twilio-ruby/rest/pricing/countries.rb +0 -21
  744. data/lib/twilio-ruby/rest/pricing/messaging.rb +0 -15
  745. data/lib/twilio-ruby/rest/pricing/phone_numbers.rb +0 -14
  746. data/lib/twilio-ruby/rest/pricing/voice/numbers.rb +0 -19
  747. data/lib/twilio-ruby/rest/pricing/voice.rb +0 -15
  748. data/lib/twilio-ruby/rest/pricing_client.rb +0 -108
  749. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  750. data/lib/twilio-ruby/rest/queues.rb +0 -12
  751. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  752. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  753. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  754. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  755. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  756. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  757. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  758. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  759. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  760. data/lib/twilio-ruby/rest/sip.rb +0 -10
  761. data/lib/twilio-ruby/rest/sms/messages.rb +0 -38
  762. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  763. data/lib/twilio-ruby/rest/sms.rb +0 -11
  764. data/lib/twilio-ruby/rest/task_router/activities.rb +0 -8
  765. data/lib/twilio-ruby/rest/task_router/events.rb +0 -8
  766. data/lib/twilio-ruby/rest/task_router/reservations.rb +0 -8
  767. data/lib/twilio-ruby/rest/task_router/statistics.rb +0 -26
  768. data/lib/twilio-ruby/rest/task_router/task_queues.rb +0 -17
  769. data/lib/twilio-ruby/rest/task_router/task_queues_statistics.rb +0 -15
  770. data/lib/twilio-ruby/rest/task_router/tasks.rb +0 -15
  771. data/lib/twilio-ruby/rest/task_router/workers.rb +0 -19
  772. data/lib/twilio-ruby/rest/task_router/workers_statistics.rb +0 -8
  773. data/lib/twilio-ruby/rest/task_router/workflow_statistics.rb +0 -7
  774. data/lib/twilio-ruby/rest/task_router/workflows.rb +0 -11
  775. data/lib/twilio-ruby/rest/task_router/workspace_statistics.rb +0 -7
  776. data/lib/twilio-ruby/rest/task_router/workspaces.rb +0 -17
  777. data/lib/twilio-ruby/rest/task_router_client.rb +0 -176
  778. data/lib/twilio-ruby/rest/tokens.rb +0 -7
  779. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  780. data/lib/twilio-ruby/rest/trunking/credential_lists.rb +0 -8
  781. data/lib/twilio-ruby/rest/trunking/ip_access_control_lists.rb +0 -8
  782. data/lib/twilio-ruby/rest/trunking/origination_urls.rb +0 -8
  783. data/lib/twilio-ruby/rest/trunking/phone_numbers.rb +0 -8
  784. data/lib/twilio-ruby/rest/trunking/trunks.rb +0 -19
  785. data/lib/twilio-ruby/rest/trunking_client.rb +0 -106
  786. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  787. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  788. data/lib/twilio-ruby/rest/usage.rb +0 -10
  789. data/lib/twilio-ruby/rest/utils.rb +0 -49
  790. data/lib/twilio-ruby/task_router/capability.rb +0 -224
  791. data/lib/twilio-ruby/task_router/workflow_builder.rb +0 -129
  792. data/lib/twilio-ruby/task_router.rb +0 -0
  793. data/lib/twilio-ruby/twiml/response.rb +0 -16
  794. data/lib/twilio-ruby/util/capability.rb +0 -64
  795. data/lib/twilio-ruby/util/client_config.rb +0 -29
  796. data/lib/twilio-ruby/util/request_validator.rb +0 -37
  797. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -110
  798. data/spec/rest/account_spec.rb +0 -89
  799. data/spec/rest/address_spec.rb +0 -11
  800. data/spec/rest/call_feedback_spec.rb +0 -12
  801. data/spec/rest/call_feedback_summary_spec.rb +0 -9
  802. data/spec/rest/call_spec.rb +0 -22
  803. data/spec/rest/client_spec.rb +0 -277
  804. data/spec/rest/conference_spec.rb +0 -11
  805. data/spec/rest/instance_resource_spec.rb +0 -15
  806. data/spec/rest/key_spec.rb +0 -11
  807. data/spec/rest/lookups/phone_number_spec.rb +0 -28
  808. data/spec/rest/message_spec.rb +0 -12
  809. data/spec/rest/monitor_client_spec.rb +0 -17
  810. data/spec/rest/numbers_spec.rb +0 -58
  811. data/spec/rest/pricing_client_spec.rb +0 -45
  812. data/spec/rest/queue_spec.rb +0 -11
  813. data/spec/rest/recording_spec.rb +0 -11
  814. data/spec/rest/sms/message_spec.rb +0 -37
  815. data/spec/rest/sms/messages_spec.rb +0 -31
  816. data/spec/rest/task_router/reservation_spec.rb +0 -14
  817. data/spec/rest/task_router/statistics_spec.rb +0 -37
  818. data/spec/rest/task_router/task_queue_spec.rb +0 -9
  819. data/spec/rest/token_spec.rb +0 -7
  820. data/spec/rest/trunking/trunk_spec.rb +0 -36
  821. data/spec/rest/utils_spec.rb +0 -45
  822. data/spec/spec_helper.rb +0 -15
  823. data/spec/support/fakeweb.rb +0 -2
  824. data/spec/task_router_deprecated_spec.rb +0 -130
  825. data/spec/task_router_spec.rb +0 -110
  826. data/spec/task_router_taskqueue_spec.rb +0 -111
  827. data/spec/task_router_worker_spec.rb +0 -129
  828. data/spec/task_router_workspace_spec.rb +0 -110
  829. data/spec/twilio_spec.rb +0 -15
  830. data/spec/util/capability_spec.rb +0 -186
  831. data/spec/util/client_config_spec.rb +0 -21
  832. data/spec/util/configuration_spec.rb +0 -15
  833. data/spec/util/request_validator_spec.rb +0 -113
  834. data/spec/util/url_encode_spec.rb +0 -12
@@ -0,0 +1,1952 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module TwiML
11
+ ##
12
+ # <Response> TwiML for Voice
13
+ class VoiceResponse < TwiML
14
+ def initialize(**keyword_args)
15
+ super(**keyword_args)
16
+ @name = 'Response'
17
+
18
+ yield(self) if block_given?
19
+ end
20
+
21
+ ##
22
+ # Create a new <Connect> element
23
+ # action:: Action URL
24
+ # method:: Action URL method
25
+ # keyword_args:: additional attributes
26
+ def connect(action: nil, method: nil, **keyword_args)
27
+ connect = Connect.new(action: action, method: method, **keyword_args)
28
+
29
+ yield(connect) if block_given?
30
+ append(connect)
31
+ end
32
+
33
+ ##
34
+ # Create a new <Dial> element
35
+ # number:: Phone number to dial
36
+ # action:: Action URL
37
+ # method:: Action URL method
38
+ # timeout:: Time to wait for answer
39
+ # hangup_on_star:: Hangup call on star press
40
+ # time_limit:: Max time length
41
+ # caller_id:: Caller ID to display
42
+ # record:: Record the call
43
+ # trim:: Trim the recording
44
+ # recording_status_callback:: Recording status callback URL
45
+ # recording_status_callback_method:: Recording status callback URL method
46
+ # recording_status_callback_event:: Recording status callback events
47
+ # answer_on_bridge:: Preserve the ringing behavior of the inbound call until the Dialed call picks up
48
+ # ring_tone:: Ringtone allows you to override the ringback tone that Twilio will play back to the caller while executing the Dial
49
+ # recording_track:: To indicate which audio track should be recorded
50
+ # sequential:: Used to determine if child TwiML nouns should be dialed in order, one after the other (sequential) or dial all at once (parallel). Default is false, parallel
51
+ # refer_url:: Webhook that will receive future SIP REFER requests
52
+ # refer_method:: The HTTP method to use for the refer Webhook
53
+ # keyword_args:: additional attributes
54
+ def dial(number: nil, action: nil, method: nil, timeout: nil, hangup_on_star: nil, time_limit: nil, caller_id: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, answer_on_bridge: nil, ring_tone: nil, recording_track: nil, sequential: nil, refer_url: nil, refer_method: nil, **keyword_args)
55
+ dial = Dial.new(number: number, action: action, method: method, timeout: timeout, hangup_on_star: hangup_on_star, time_limit: time_limit, caller_id: caller_id, 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, answer_on_bridge: answer_on_bridge, ring_tone: ring_tone, recording_track: recording_track, sequential: sequential, refer_url: refer_url, refer_method: refer_method, **keyword_args)
56
+
57
+ yield(dial) if block_given?
58
+ append(dial)
59
+ end
60
+
61
+ ##
62
+ # Create a new <Echo> element
63
+ # keyword_args:: additional attributes
64
+ def echo(**keyword_args)
65
+ append(Echo.new(**keyword_args))
66
+ end
67
+
68
+ ##
69
+ # Create a new <Enqueue> element
70
+ # name:: Friendly name
71
+ # action:: Action URL
72
+ # max_queue_size:: Maximum size of queue
73
+ # method:: Action URL method
74
+ # wait_url:: Wait URL
75
+ # wait_url_method:: Wait URL method
76
+ # workflow_sid:: TaskRouter Workflow SID
77
+ # keyword_args:: additional attributes
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)
80
+
81
+ yield(enqueue) if block_given?
82
+ append(enqueue)
83
+ end
84
+
85
+ ##
86
+ # Create a new <Gather> element
87
+ # input:: Input type Twilio should accept
88
+ # action:: Action URL
89
+ # method:: Action URL method
90
+ # timeout:: Time to wait to gather input
91
+ # speech_timeout:: Time to wait to gather speech input and it should be either auto or a positive integer.
92
+ # max_speech_time:: Max allowed time for speech input
93
+ # profanity_filter:: Profanity Filter on speech
94
+ # finish_on_key:: Finish gather on key
95
+ # num_digits:: Number of digits to collect
96
+ # partial_result_callback:: Partial result callback URL
97
+ # partial_result_callback_method:: Partial result callback URL method
98
+ # language:: Language to use
99
+ # hints:: Speech recognition hints
100
+ # barge_in:: Stop playing media upon speech
101
+ # debug:: Allow debug for gather
102
+ # action_on_empty_result:: Force webhook to the action URL event if there is no input
103
+ # speech_model:: Specify the model that is best suited for your use case
104
+ # enhanced:: Use enhanced speech model
105
+ # keyword_args:: additional attributes
106
+ def gather(input: nil, action: nil, method: nil, timeout: nil, speech_timeout: nil, max_speech_time: nil, profanity_filter: nil, finish_on_key: nil, num_digits: nil, partial_result_callback: nil, partial_result_callback_method: nil, language: nil, hints: nil, barge_in: nil, debug: nil, action_on_empty_result: nil, speech_model: nil, enhanced: nil, **keyword_args)
107
+ gather = Gather.new(input: input, action: action, method: method, timeout: timeout, speech_timeout: speech_timeout, max_speech_time: max_speech_time, profanity_filter: profanity_filter, finish_on_key: finish_on_key, num_digits: num_digits, partial_result_callback: partial_result_callback, partial_result_callback_method: partial_result_callback_method, language: language, hints: hints, barge_in: barge_in, debug: debug, action_on_empty_result: action_on_empty_result, speech_model: speech_model, enhanced: enhanced, **keyword_args)
108
+
109
+ yield(gather) if block_given?
110
+ append(gather)
111
+ end
112
+
113
+ ##
114
+ # Create a new <Hangup> element
115
+ # keyword_args:: additional attributes
116
+ def hangup(**keyword_args)
117
+ hangup = Hangup.new(**keyword_args)
118
+
119
+ yield(hangup) if block_given?
120
+ append(hangup)
121
+ end
122
+
123
+ ##
124
+ # Create a new <Leave> element
125
+ # keyword_args:: additional attributes
126
+ def leave(**keyword_args)
127
+ append(Leave.new(**keyword_args))
128
+ end
129
+
130
+ ##
131
+ # Create a new <Pause> element
132
+ # length:: Length in seconds to pause
133
+ # keyword_args:: additional attributes
134
+ def pause(length: nil, **keyword_args)
135
+ append(Pause.new(length: length, **keyword_args))
136
+ end
137
+
138
+ ##
139
+ # Create a new <Play> element
140
+ # url:: Media URL
141
+ # loop:: Times to loop media
142
+ # digits:: Play DTMF tones for digits
143
+ # keyword_args:: additional attributes
144
+ def play(url: nil, loop: nil, digits: nil, **keyword_args)
145
+ append(Play.new(url: url, loop: loop, digits: digits, **keyword_args))
146
+ end
147
+
148
+ ##
149
+ # Create a new <Queue> element
150
+ # name:: Queue name
151
+ # url:: Action URL
152
+ # method:: Action URL method
153
+ # reservation_sid:: TaskRouter Reservation SID
154
+ # post_work_activity_sid:: TaskRouter Activity SID
155
+ # keyword_args:: additional attributes
156
+ def queue(name, url: nil, method: nil, reservation_sid: nil, post_work_activity_sid: nil, **keyword_args)
157
+ append(Queue.new(name, url: url, method: method, reservation_sid: reservation_sid, post_work_activity_sid: post_work_activity_sid, **keyword_args))
158
+ end
159
+
160
+ ##
161
+ # Create a new <Record> element
162
+ # action:: Action URL
163
+ # method:: Action URL method
164
+ # timeout:: Timeout to begin recording
165
+ # finish_on_key:: Finish recording on key
166
+ # max_length:: Max time to record in seconds
167
+ # play_beep:: Play beep
168
+ # trim:: Trim the recording
169
+ # recording_status_callback:: Status callback URL
170
+ # recording_status_callback_method:: Status callback URL method
171
+ # recording_status_callback_event:: Recording status callback events
172
+ # transcribe:: Transcribe the recording
173
+ # transcribe_callback:: Transcribe callback URL
174
+ # keyword_args:: additional attributes
175
+ def record(action: nil, method: nil, timeout: nil, finish_on_key: nil, max_length: nil, play_beep: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, transcribe: nil, transcribe_callback: nil, **keyword_args)
176
+ append(Record.new(action: action, method: method, timeout: timeout, finish_on_key: finish_on_key, max_length: max_length, play_beep: play_beep, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, transcribe: transcribe, transcribe_callback: transcribe_callback, **keyword_args))
177
+ end
178
+
179
+ ##
180
+ # Create a new <Redirect> element
181
+ # url:: Redirect URL
182
+ # method:: Redirect URL method
183
+ # keyword_args:: additional attributes
184
+ def redirect(url, method: nil, **keyword_args)
185
+ append(Redirect.new(url, method: method, **keyword_args))
186
+ end
187
+
188
+ ##
189
+ # Create a new <Reject> element
190
+ # reason:: Rejection reason
191
+ # keyword_args:: additional attributes
192
+ def reject(reason: nil, **keyword_args)
193
+ reject = Reject.new(reason: reason, **keyword_args)
194
+
195
+ yield(reject) if block_given?
196
+ append(reject)
197
+ end
198
+
199
+ ##
200
+ # Create a new <Say> element
201
+ # message:: Message to say
202
+ # voice:: Voice to use
203
+ # loop:: Times to loop message
204
+ # language:: Message language
205
+ # keyword_args:: additional attributes
206
+ def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
207
+ say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
208
+
209
+ yield(say) if block_given?
210
+ append(say)
211
+ end
212
+
213
+ ##
214
+ # Create a new <Sms> element
215
+ # message:: Message body
216
+ # to:: Number to send message to
217
+ # from:: Number to send message from
218
+ # action:: Action URL
219
+ # method:: Action URL method
220
+ # status_callback:: Status callback URL
221
+ # keyword_args:: additional attributes
222
+ def sms(message, to: nil, from: nil, action: nil, method: nil, status_callback: nil, **keyword_args)
223
+ append(Sms.new(message, to: to, from: from, action: action, method: method, status_callback: status_callback, **keyword_args))
224
+ end
225
+
226
+ ##
227
+ # Create a new <Pay> element
228
+ # input:: Input type Twilio should accept
229
+ # action:: Action URL
230
+ # bank_account_type:: Bank account type for ach transactions. If set, payment method attribute must be provided and value should be set to ach-debit. defaults to consumer-checking
231
+ # status_callback:: Status callback URL
232
+ # status_callback_method:: Status callback method
233
+ # timeout:: Time to wait to gather input
234
+ # max_attempts:: Maximum number of allowed retries when gathering input
235
+ # security_code:: Prompt for security code
236
+ # postal_code:: Prompt for postal code and it should be true/false or default postal code
237
+ # min_postal_code_length:: Prompt for minimum postal code length
238
+ # payment_connector:: Unique name for payment connector
239
+ # payment_method:: Payment method to be used. defaults to credit-card
240
+ # token_type:: Type of token
241
+ # charge_amount:: Amount to process. If value is greater than 0 then make the payment else create a payment token
242
+ # currency:: Currency of the amount attribute
243
+ # description:: Details regarding the payment
244
+ # valid_card_types:: Comma separated accepted card types
245
+ # language:: Language to use
246
+ # keyword_args:: additional attributes
247
+ def pay(input: nil, action: nil, bank_account_type: nil, status_callback: nil, status_callback_method: nil, timeout: nil, max_attempts: nil, security_code: nil, postal_code: nil, min_postal_code_length: nil, payment_connector: nil, payment_method: nil, token_type: nil, charge_amount: nil, currency: nil, description: nil, valid_card_types: nil, language: nil, **keyword_args)
248
+ pay = Pay.new(input: input, action: action, bank_account_type: bank_account_type, status_callback: status_callback, status_callback_method: status_callback_method, timeout: timeout, max_attempts: max_attempts, security_code: security_code, postal_code: postal_code, min_postal_code_length: min_postal_code_length, payment_connector: payment_connector, payment_method: payment_method, token_type: token_type, charge_amount: charge_amount, currency: currency, description: description, valid_card_types: valid_card_types, language: language, **keyword_args)
249
+
250
+ yield(pay) if block_given?
251
+ append(pay)
252
+ end
253
+
254
+ ##
255
+ # Create a new <Prompt> element
256
+ # for_:: Name of the payment source data element
257
+ # error_type:: Type of error
258
+ # card_type:: Type of the credit card
259
+ # attempt:: Current attempt count
260
+ # require_matching_inputs:: Require customer to input requested information twice and verify matching.
261
+ # keyword_args:: additional attributes
262
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
263
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
264
+
265
+ yield(prompt) if block_given?
266
+ append(prompt)
267
+ end
268
+
269
+ ##
270
+ # Create a new <Start> element
271
+ # action:: Action URL
272
+ # method:: Action URL method
273
+ # keyword_args:: additional attributes
274
+ def start(action: nil, method: nil, **keyword_args)
275
+ start = Start.new(action: action, method: method, **keyword_args)
276
+
277
+ yield(start) if block_given?
278
+ append(start)
279
+ end
280
+
281
+ ##
282
+ # Create a new <Stop> element
283
+ # keyword_args:: additional attributes
284
+ def stop(**keyword_args)
285
+ stop = Stop.new(**keyword_args)
286
+
287
+ yield(stop) if block_given?
288
+ append(stop)
289
+ end
290
+
291
+ ##
292
+ # Create a new <Refer> element
293
+ # action:: Action URL
294
+ # method:: Action URL method
295
+ # keyword_args:: additional attributes
296
+ def refer(action: nil, method: nil, **keyword_args)
297
+ refer = Refer.new(action: action, method: method, **keyword_args)
298
+
299
+ yield(refer) if block_given?
300
+ append(refer)
301
+ end
302
+ end
303
+
304
+ ##
305
+ # <Refer> TwiML Verb
306
+ class Refer < TwiML
307
+ def initialize(**keyword_args)
308
+ super(**keyword_args)
309
+ @name = 'Refer'
310
+
311
+ yield(self) if block_given?
312
+ end
313
+
314
+ ##
315
+ # Create a new <Sip> element
316
+ # sip_url:: SIP URL
317
+ # keyword_args:: additional attributes
318
+ def sip(sip_url, **keyword_args)
319
+ append(ReferSip.new(sip_url, **keyword_args))
320
+ end
321
+ end
322
+
323
+ ##
324
+ # <Sip> TwiML Noun used in <Refer>
325
+ class ReferSip < TwiML
326
+ def initialize(sip_url, **keyword_args)
327
+ super(**keyword_args)
328
+ @name = 'Sip'
329
+ @value = sip_url
330
+ yield(self) if block_given?
331
+ end
332
+ end
333
+
334
+ ##
335
+ # <Stop> TwiML Verb
336
+ class Stop < TwiML
337
+ def initialize(**keyword_args)
338
+ super(**keyword_args)
339
+ @name = 'Stop'
340
+
341
+ yield(self) if block_given?
342
+ end
343
+
344
+ ##
345
+ # Create a new <Stream> element
346
+ # name:: Friendly name given to the Stream
347
+ # connector_name:: Unique name for Stream Connector
348
+ # url:: URL of the remote service where the Stream is routed
349
+ # track:: Track to be streamed to remote service
350
+ # status_callback:: Status Callback URL
351
+ # status_callback_method:: Status Callback URL method
352
+ # keyword_args:: additional attributes
353
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
354
+ stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
355
+
356
+ yield(stream) if block_given?
357
+ append(stream)
358
+ end
359
+
360
+ ##
361
+ # Create a new <Siprec> element
362
+ # name:: Friendly name given to SIPREC
363
+ # connector_name:: Unique name for Connector
364
+ # track:: Track to be streamed to remote service
365
+ # status_callback:: Status Callback URL
366
+ # status_callback_method:: Status Callback URL method
367
+ # keyword_args:: additional attributes
368
+ def siprec(name: nil, connector_name: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
369
+ siprec = Siprec.new(name: name, connector_name: connector_name, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
370
+
371
+ yield(siprec) if block_given?
372
+ append(siprec)
373
+ end
374
+ end
375
+
376
+ ##
377
+ # <Siprec> TwiML Noun
378
+ class Siprec < TwiML
379
+ def initialize(**keyword_args)
380
+ super(**keyword_args)
381
+ @name = 'Siprec'
382
+
383
+ yield(self) if block_given?
384
+ end
385
+
386
+ ##
387
+ # Create a new <Parameter> element
388
+ # name:: The name of the custom parameter
389
+ # value:: The value of the custom parameter
390
+ # keyword_args:: additional attributes
391
+ def parameter(name: nil, value: nil, **keyword_args)
392
+ append(Parameter.new(name: name, value: value, **keyword_args))
393
+ end
394
+ end
395
+
396
+ ##
397
+ # <Parameter> TwiML Noun
398
+ class Parameter < TwiML
399
+ def initialize(**keyword_args)
400
+ super(**keyword_args)
401
+ @name = 'Parameter'
402
+
403
+ yield(self) if block_given?
404
+ end
405
+ end
406
+
407
+ ##
408
+ # <Stream> TwiML Noun
409
+ class Stream < TwiML
410
+ def initialize(**keyword_args)
411
+ super(**keyword_args)
412
+ @name = 'Stream'
413
+
414
+ yield(self) if block_given?
415
+ end
416
+
417
+ ##
418
+ # Create a new <Parameter> element
419
+ # name:: The name of the custom parameter
420
+ # value:: The value of the custom parameter
421
+ # keyword_args:: additional attributes
422
+ def parameter(name: nil, value: nil, **keyword_args)
423
+ append(Parameter.new(name: name, value: value, **keyword_args))
424
+ end
425
+ end
426
+
427
+ ##
428
+ # <Start> TwiML Verb
429
+ class Start < TwiML
430
+ def initialize(**keyword_args)
431
+ super(**keyword_args)
432
+ @name = 'Start'
433
+
434
+ yield(self) if block_given?
435
+ end
436
+
437
+ ##
438
+ # Create a new <Stream> element
439
+ # name:: Friendly name given to the Stream
440
+ # connector_name:: Unique name for Stream Connector
441
+ # url:: URL of the remote service where the Stream is routed
442
+ # track:: Track to be streamed to remote service
443
+ # status_callback:: Status Callback URL
444
+ # status_callback_method:: Status Callback URL method
445
+ # keyword_args:: additional attributes
446
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
447
+ stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
448
+
449
+ yield(stream) if block_given?
450
+ append(stream)
451
+ end
452
+
453
+ ##
454
+ # Create a new <Siprec> element
455
+ # name:: Friendly name given to SIPREC
456
+ # connector_name:: Unique name for Connector
457
+ # track:: Track to be streamed to remote service
458
+ # status_callback:: Status Callback URL
459
+ # status_callback_method:: Status Callback URL method
460
+ # keyword_args:: additional attributes
461
+ def siprec(name: nil, connector_name: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
462
+ siprec = Siprec.new(name: name, connector_name: connector_name, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
463
+
464
+ yield(siprec) if block_given?
465
+ append(siprec)
466
+ end
467
+ end
468
+
469
+ ##
470
+ # <Prompt> Twiml Verb
471
+ class Prompt < TwiML
472
+ def initialize(**keyword_args)
473
+ super(**keyword_args)
474
+ @name = 'Prompt'
475
+
476
+ yield(self) if block_given?
477
+ end
478
+
479
+ ##
480
+ # Create a new <Say> element
481
+ # message:: Message to say
482
+ # voice:: Voice to use
483
+ # loop:: Times to loop message
484
+ # language:: Message language
485
+ # keyword_args:: additional attributes
486
+ def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
487
+ say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
488
+
489
+ yield(say) if block_given?
490
+ append(say)
491
+ end
492
+
493
+ ##
494
+ # Create a new <Play> element
495
+ # url:: Media URL
496
+ # loop:: Times to loop media
497
+ # digits:: Play DTMF tones for digits
498
+ # keyword_args:: additional attributes
499
+ def play(url: nil, loop: nil, digits: nil, **keyword_args)
500
+ append(Play.new(url: url, loop: loop, digits: digits, **keyword_args))
501
+ end
502
+
503
+ ##
504
+ # Create a new <Pause> element
505
+ # length:: Length in seconds to pause
506
+ # keyword_args:: additional attributes
507
+ def pause(length: nil, **keyword_args)
508
+ append(Pause.new(length: length, **keyword_args))
509
+ end
510
+ end
511
+
512
+ ##
513
+ # <Pause> TwiML Verb
514
+ class Pause < TwiML
515
+ def initialize(**keyword_args)
516
+ super(**keyword_args)
517
+ @name = 'Pause'
518
+
519
+ yield(self) if block_given?
520
+ end
521
+ end
522
+
523
+ ##
524
+ # <Play> TwiML Verb
525
+ class Play < TwiML
526
+ def initialize(url: nil, **keyword_args)
527
+ super(**keyword_args)
528
+ @name = 'Play'
529
+ @value = url unless url.nil?
530
+ yield(self) if block_given?
531
+ end
532
+ end
533
+
534
+ ##
535
+ # <Say> TwiML Verb
536
+ class Say < TwiML
537
+ def initialize(message: nil, **keyword_args)
538
+ super(**keyword_args)
539
+ @name = 'Say'
540
+ @value = message unless message.nil?
541
+ yield(self) if block_given?
542
+ end
543
+
544
+ ##
545
+ # Create a new <Break> element
546
+ # strength:: Set a pause based on strength
547
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
548
+ # keyword_args:: additional attributes
549
+ def break(strength: nil, time: nil, **keyword_args)
550
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
551
+ end
552
+
553
+ ##
554
+ # Create a new <Emphasis> element
555
+ # words:: Words to emphasize
556
+ # level:: Specify the degree of emphasis
557
+ # keyword_args:: additional attributes
558
+ def emphasis(words: nil, level: nil, **keyword_args)
559
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
560
+
561
+ yield(emphasis) if block_given?
562
+ append(emphasis)
563
+ end
564
+
565
+ ##
566
+ # Create a new <Lang> element
567
+ # words:: Words to speak
568
+ # xmlLang:: Specify the language
569
+ # keyword_args:: additional attributes
570
+ def lang(words: nil, xmlLang: nil, **keyword_args)
571
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
572
+
573
+ yield(lang) if block_given?
574
+ append(lang)
575
+ end
576
+
577
+ ##
578
+ # Create a new <P> element
579
+ # words:: Words to speak
580
+ # keyword_args:: additional attributes
581
+ def p(words: nil, **keyword_args)
582
+ p = SsmlP.new(words: words, **keyword_args)
583
+
584
+ yield(p) if block_given?
585
+ append(p)
586
+ end
587
+
588
+ ##
589
+ # Create a new <Phoneme> element
590
+ # words:: Words to speak
591
+ # alphabet:: Specify the phonetic alphabet
592
+ # ph:: Specifiy the phonetic symbols for pronunciation
593
+ # keyword_args:: additional attributes
594
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
595
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
596
+ end
597
+
598
+ ##
599
+ # Create a new <Prosody> element
600
+ # words:: Words to speak
601
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
602
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
603
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
604
+ # keyword_args:: additional attributes
605
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
606
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
607
+
608
+ yield(prosody) if block_given?
609
+ append(prosody)
610
+ end
611
+
612
+ ##
613
+ # Create a new <S> element
614
+ # words:: Words to speak
615
+ # keyword_args:: additional attributes
616
+ def s(words: nil, **keyword_args)
617
+ s = SsmlS.new(words: words, **keyword_args)
618
+
619
+ yield(s) if block_given?
620
+ append(s)
621
+ end
622
+
623
+ ##
624
+ # Create a new <Say-As> element
625
+ # words:: Words to be interpreted
626
+ # interpretAs:: Specify the type of words are spoken
627
+ # format:: Specify the format of the date when interpret-as is set to date
628
+ # keyword_args:: additional attributes
629
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
630
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
631
+ end
632
+
633
+ ##
634
+ # Create a new <Sub> element
635
+ # words:: Words to be substituted
636
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
637
+ # keyword_args:: additional attributes
638
+ def sub(words, aliasAttribute: nil, **keyword_args)
639
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
640
+ end
641
+
642
+ ##
643
+ # Create a new <W> element
644
+ # words:: Words to speak
645
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
646
+ # keyword_args:: additional attributes
647
+ def w(words: nil, role: nil, **keyword_args)
648
+ w = SsmlW.new(words: words, role: role, **keyword_args)
649
+
650
+ yield(w) if block_given?
651
+ append(w)
652
+ end
653
+ end
654
+
655
+ ##
656
+ # Improving Pronunciation by Specifying Parts of Speech in <Say>
657
+ class SsmlW < TwiML
658
+ def initialize(words: nil, **keyword_args)
659
+ super(**keyword_args)
660
+ @name = 'w'
661
+ @value = words unless words.nil?
662
+ yield(self) if block_given?
663
+ end
664
+
665
+ ##
666
+ # Create a new <Break> element
667
+ # strength:: Set a pause based on strength
668
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
669
+ # keyword_args:: additional attributes
670
+ def break(strength: nil, time: nil, **keyword_args)
671
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
672
+ end
673
+
674
+ ##
675
+ # Create a new <Emphasis> element
676
+ # words:: Words to emphasize
677
+ # level:: Specify the degree of emphasis
678
+ # keyword_args:: additional attributes
679
+ def emphasis(words: nil, level: nil, **keyword_args)
680
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
681
+
682
+ yield(emphasis) if block_given?
683
+ append(emphasis)
684
+ end
685
+
686
+ ##
687
+ # Create a new <Phoneme> element
688
+ # words:: Words to speak
689
+ # alphabet:: Specify the phonetic alphabet
690
+ # ph:: Specifiy the phonetic symbols for pronunciation
691
+ # keyword_args:: additional attributes
692
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
693
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
694
+ end
695
+
696
+ ##
697
+ # Create a new <Prosody> element
698
+ # words:: Words to speak
699
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
700
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
701
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
702
+ # keyword_args:: additional attributes
703
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
704
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
705
+
706
+ yield(prosody) if block_given?
707
+ append(prosody)
708
+ end
709
+
710
+ ##
711
+ # Create a new <Say-As> element
712
+ # words:: Words to be interpreted
713
+ # interpretAs:: Specify the type of words are spoken
714
+ # format:: Specify the format of the date when interpret-as is set to date
715
+ # keyword_args:: additional attributes
716
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
717
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
718
+ end
719
+
720
+ ##
721
+ # Create a new <Sub> element
722
+ # words:: Words to be substituted
723
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
724
+ # keyword_args:: additional attributes
725
+ def sub(words, aliasAttribute: nil, **keyword_args)
726
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
727
+ end
728
+ end
729
+
730
+ ##
731
+ # Pronouncing Acronyms and Abbreviations in <Say>
732
+ class SsmlSub < TwiML
733
+ def initialize(words, **keyword_args)
734
+ super(**keyword_args)
735
+ @name = 'sub'
736
+ @value = words
737
+ yield(self) if block_given?
738
+ end
739
+ end
740
+
741
+ ##
742
+ # Controlling How Special Types of Words Are Spoken in <Say>
743
+ class SsmlSayAs < TwiML
744
+ def initialize(words, **keyword_args)
745
+ super(**keyword_args)
746
+ @name = 'say-as'
747
+ @value = words
748
+ yield(self) if block_given?
749
+ end
750
+ end
751
+
752
+ ##
753
+ # Controling Volume, Speaking Rate, and Pitch in <Say>
754
+ class SsmlProsody < TwiML
755
+ def initialize(words: nil, **keyword_args)
756
+ super(**keyword_args)
757
+ @name = 'prosody'
758
+ @value = words unless words.nil?
759
+ yield(self) if block_given?
760
+ end
761
+
762
+ ##
763
+ # Create a new <Break> element
764
+ # strength:: Set a pause based on strength
765
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
766
+ # keyword_args:: additional attributes
767
+ def break(strength: nil, time: nil, **keyword_args)
768
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
769
+ end
770
+
771
+ ##
772
+ # Create a new <Emphasis> element
773
+ # words:: Words to emphasize
774
+ # level:: Specify the degree of emphasis
775
+ # keyword_args:: additional attributes
776
+ def emphasis(words: nil, level: nil, **keyword_args)
777
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
778
+
779
+ yield(emphasis) if block_given?
780
+ append(emphasis)
781
+ end
782
+
783
+ ##
784
+ # Create a new <Lang> element
785
+ # words:: Words to speak
786
+ # xmlLang:: Specify the language
787
+ # keyword_args:: additional attributes
788
+ def lang(words: nil, xmlLang: nil, **keyword_args)
789
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
790
+
791
+ yield(lang) if block_given?
792
+ append(lang)
793
+ end
794
+
795
+ ##
796
+ # Create a new <P> element
797
+ # words:: Words to speak
798
+ # keyword_args:: additional attributes
799
+ def p(words: nil, **keyword_args)
800
+ p = SsmlP.new(words: words, **keyword_args)
801
+
802
+ yield(p) if block_given?
803
+ append(p)
804
+ end
805
+
806
+ ##
807
+ # Create a new <Phoneme> element
808
+ # words:: Words to speak
809
+ # alphabet:: Specify the phonetic alphabet
810
+ # ph:: Specifiy the phonetic symbols for pronunciation
811
+ # keyword_args:: additional attributes
812
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
813
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
814
+ end
815
+
816
+ ##
817
+ # Create a new <Prosody> element
818
+ # words:: Words to speak
819
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
820
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
821
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
822
+ # keyword_args:: additional attributes
823
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
824
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
825
+
826
+ yield(prosody) if block_given?
827
+ append(prosody)
828
+ end
829
+
830
+ ##
831
+ # Create a new <S> element
832
+ # words:: Words to speak
833
+ # keyword_args:: additional attributes
834
+ def s(words: nil, **keyword_args)
835
+ s = SsmlS.new(words: words, **keyword_args)
836
+
837
+ yield(s) if block_given?
838
+ append(s)
839
+ end
840
+
841
+ ##
842
+ # Create a new <Say-As> element
843
+ # words:: Words to be interpreted
844
+ # interpretAs:: Specify the type of words are spoken
845
+ # format:: Specify the format of the date when interpret-as is set to date
846
+ # keyword_args:: additional attributes
847
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
848
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
849
+ end
850
+
851
+ ##
852
+ # Create a new <Sub> element
853
+ # words:: Words to be substituted
854
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
855
+ # keyword_args:: additional attributes
856
+ def sub(words, aliasAttribute: nil, **keyword_args)
857
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
858
+ end
859
+
860
+ ##
861
+ # Create a new <W> element
862
+ # words:: Words to speak
863
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
864
+ # keyword_args:: additional attributes
865
+ def w(words: nil, role: nil, **keyword_args)
866
+ w = SsmlW.new(words: words, role: role, **keyword_args)
867
+
868
+ yield(w) if block_given?
869
+ append(w)
870
+ end
871
+ end
872
+
873
+ ##
874
+ # Adding A Pause Between Sentences in <Say>
875
+ class SsmlS < TwiML
876
+ def initialize(words: nil, **keyword_args)
877
+ super(**keyword_args)
878
+ @name = 's'
879
+ @value = words unless words.nil?
880
+ yield(self) if block_given?
881
+ end
882
+
883
+ ##
884
+ # Create a new <Break> element
885
+ # strength:: Set a pause based on strength
886
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
887
+ # keyword_args:: additional attributes
888
+ def break(strength: nil, time: nil, **keyword_args)
889
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
890
+ end
891
+
892
+ ##
893
+ # Create a new <Emphasis> element
894
+ # words:: Words to emphasize
895
+ # level:: Specify the degree of emphasis
896
+ # keyword_args:: additional attributes
897
+ def emphasis(words: nil, level: nil, **keyword_args)
898
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
899
+
900
+ yield(emphasis) if block_given?
901
+ append(emphasis)
902
+ end
903
+
904
+ ##
905
+ # Create a new <Lang> element
906
+ # words:: Words to speak
907
+ # xmlLang:: Specify the language
908
+ # keyword_args:: additional attributes
909
+ def lang(words: nil, xmlLang: nil, **keyword_args)
910
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
911
+
912
+ yield(lang) if block_given?
913
+ append(lang)
914
+ end
915
+
916
+ ##
917
+ # Create a new <Phoneme> element
918
+ # words:: Words to speak
919
+ # alphabet:: Specify the phonetic alphabet
920
+ # ph:: Specifiy the phonetic symbols for pronunciation
921
+ # keyword_args:: additional attributes
922
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
923
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
924
+ end
925
+
926
+ ##
927
+ # Create a new <Prosody> element
928
+ # words:: Words to speak
929
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
930
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
931
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
932
+ # keyword_args:: additional attributes
933
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
934
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
935
+
936
+ yield(prosody) if block_given?
937
+ append(prosody)
938
+ end
939
+
940
+ ##
941
+ # Create a new <Say-As> element
942
+ # words:: Words to be interpreted
943
+ # interpretAs:: Specify the type of words are spoken
944
+ # format:: Specify the format of the date when interpret-as is set to date
945
+ # keyword_args:: additional attributes
946
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
947
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
948
+ end
949
+
950
+ ##
951
+ # Create a new <Sub> element
952
+ # words:: Words to be substituted
953
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
954
+ # keyword_args:: additional attributes
955
+ def sub(words, aliasAttribute: nil, **keyword_args)
956
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
957
+ end
958
+
959
+ ##
960
+ # Create a new <W> element
961
+ # words:: Words to speak
962
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
963
+ # keyword_args:: additional attributes
964
+ def w(words: nil, role: nil, **keyword_args)
965
+ w = SsmlW.new(words: words, role: role, **keyword_args)
966
+
967
+ yield(w) if block_given?
968
+ append(w)
969
+ end
970
+ end
971
+
972
+ ##
973
+ # Using Phonetic Pronunciation in <Say>
974
+ class SsmlPhoneme < TwiML
975
+ def initialize(words, **keyword_args)
976
+ super(**keyword_args)
977
+ @name = 'phoneme'
978
+ @value = words
979
+ yield(self) if block_given?
980
+ end
981
+ end
982
+
983
+ ##
984
+ # Specifying Another Language for Specific Words in <Say>
985
+ class SsmlLang < TwiML
986
+ def initialize(words: nil, **keyword_args)
987
+ super(**keyword_args)
988
+ @name = 'lang'
989
+ @value = words unless words.nil?
990
+ yield(self) if block_given?
991
+ end
992
+
993
+ ##
994
+ # Create a new <Break> element
995
+ # strength:: Set a pause based on strength
996
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
997
+ # keyword_args:: additional attributes
998
+ def break(strength: nil, time: nil, **keyword_args)
999
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1000
+ end
1001
+
1002
+ ##
1003
+ # Create a new <Emphasis> element
1004
+ # words:: Words to emphasize
1005
+ # level:: Specify the degree of emphasis
1006
+ # keyword_args:: additional attributes
1007
+ def emphasis(words: nil, level: nil, **keyword_args)
1008
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1009
+
1010
+ yield(emphasis) if block_given?
1011
+ append(emphasis)
1012
+ end
1013
+
1014
+ ##
1015
+ # Create a new <Lang> element
1016
+ # words:: Words to speak
1017
+ # xmlLang:: Specify the language
1018
+ # keyword_args:: additional attributes
1019
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1020
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1021
+
1022
+ yield(lang) if block_given?
1023
+ append(lang)
1024
+ end
1025
+
1026
+ ##
1027
+ # Create a new <P> element
1028
+ # words:: Words to speak
1029
+ # keyword_args:: additional attributes
1030
+ def p(words: nil, **keyword_args)
1031
+ p = SsmlP.new(words: words, **keyword_args)
1032
+
1033
+ yield(p) if block_given?
1034
+ append(p)
1035
+ end
1036
+
1037
+ ##
1038
+ # Create a new <Phoneme> element
1039
+ # words:: Words to speak
1040
+ # alphabet:: Specify the phonetic alphabet
1041
+ # ph:: Specifiy the phonetic symbols for pronunciation
1042
+ # keyword_args:: additional attributes
1043
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1044
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1045
+ end
1046
+
1047
+ ##
1048
+ # Create a new <Prosody> element
1049
+ # words:: Words to speak
1050
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1051
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1052
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1053
+ # keyword_args:: additional attributes
1054
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1055
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1056
+
1057
+ yield(prosody) if block_given?
1058
+ append(prosody)
1059
+ end
1060
+
1061
+ ##
1062
+ # Create a new <S> element
1063
+ # words:: Words to speak
1064
+ # keyword_args:: additional attributes
1065
+ def s(words: nil, **keyword_args)
1066
+ s = SsmlS.new(words: words, **keyword_args)
1067
+
1068
+ yield(s) if block_given?
1069
+ append(s)
1070
+ end
1071
+
1072
+ ##
1073
+ # Create a new <Say-As> element
1074
+ # words:: Words to be interpreted
1075
+ # interpretAs:: Specify the type of words are spoken
1076
+ # format:: Specify the format of the date when interpret-as is set to date
1077
+ # keyword_args:: additional attributes
1078
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1079
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1080
+ end
1081
+
1082
+ ##
1083
+ # Create a new <Sub> element
1084
+ # words:: Words to be substituted
1085
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1086
+ # keyword_args:: additional attributes
1087
+ def sub(words, aliasAttribute: nil, **keyword_args)
1088
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1089
+ end
1090
+
1091
+ ##
1092
+ # Create a new <W> element
1093
+ # words:: Words to speak
1094
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1095
+ # keyword_args:: additional attributes
1096
+ def w(words: nil, role: nil, **keyword_args)
1097
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1098
+
1099
+ yield(w) if block_given?
1100
+ append(w)
1101
+ end
1102
+ end
1103
+
1104
+ ##
1105
+ # Adding a Pause Between Paragraphs in <Say>
1106
+ class SsmlP < TwiML
1107
+ def initialize(words: nil, **keyword_args)
1108
+ super(**keyword_args)
1109
+ @name = 'p'
1110
+ @value = words unless words.nil?
1111
+ yield(self) if block_given?
1112
+ end
1113
+
1114
+ ##
1115
+ # Create a new <Break> element
1116
+ # strength:: Set a pause based on strength
1117
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1118
+ # keyword_args:: additional attributes
1119
+ def break(strength: nil, time: nil, **keyword_args)
1120
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1121
+ end
1122
+
1123
+ ##
1124
+ # Create a new <Emphasis> element
1125
+ # words:: Words to emphasize
1126
+ # level:: Specify the degree of emphasis
1127
+ # keyword_args:: additional attributes
1128
+ def emphasis(words: nil, level: nil, **keyword_args)
1129
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1130
+
1131
+ yield(emphasis) if block_given?
1132
+ append(emphasis)
1133
+ end
1134
+
1135
+ ##
1136
+ # Create a new <Lang> element
1137
+ # words:: Words to speak
1138
+ # xmlLang:: Specify the language
1139
+ # keyword_args:: additional attributes
1140
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1141
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1142
+
1143
+ yield(lang) if block_given?
1144
+ append(lang)
1145
+ end
1146
+
1147
+ ##
1148
+ # Create a new <Phoneme> element
1149
+ # words:: Words to speak
1150
+ # alphabet:: Specify the phonetic alphabet
1151
+ # ph:: Specifiy the phonetic symbols for pronunciation
1152
+ # keyword_args:: additional attributes
1153
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1154
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1155
+ end
1156
+
1157
+ ##
1158
+ # Create a new <Prosody> element
1159
+ # words:: Words to speak
1160
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1161
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1162
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1163
+ # keyword_args:: additional attributes
1164
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1165
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1166
+
1167
+ yield(prosody) if block_given?
1168
+ append(prosody)
1169
+ end
1170
+
1171
+ ##
1172
+ # Create a new <S> element
1173
+ # words:: Words to speak
1174
+ # keyword_args:: additional attributes
1175
+ def s(words: nil, **keyword_args)
1176
+ s = SsmlS.new(words: words, **keyword_args)
1177
+
1178
+ yield(s) if block_given?
1179
+ append(s)
1180
+ end
1181
+
1182
+ ##
1183
+ # Create a new <Say-As> element
1184
+ # words:: Words to be interpreted
1185
+ # interpretAs:: Specify the type of words are spoken
1186
+ # format:: Specify the format of the date when interpret-as is set to date
1187
+ # keyword_args:: additional attributes
1188
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1189
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1190
+ end
1191
+
1192
+ ##
1193
+ # Create a new <Sub> element
1194
+ # words:: Words to be substituted
1195
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1196
+ # keyword_args:: additional attributes
1197
+ def sub(words, aliasAttribute: nil, **keyword_args)
1198
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1199
+ end
1200
+
1201
+ ##
1202
+ # Create a new <W> element
1203
+ # words:: Words to speak
1204
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1205
+ # keyword_args:: additional attributes
1206
+ def w(words: nil, role: nil, **keyword_args)
1207
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1208
+
1209
+ yield(w) if block_given?
1210
+ append(w)
1211
+ end
1212
+ end
1213
+
1214
+ ##
1215
+ # Emphasizing Words in <Say>
1216
+ class SsmlEmphasis < TwiML
1217
+ def initialize(words: nil, **keyword_args)
1218
+ super(**keyword_args)
1219
+ @name = 'emphasis'
1220
+ @value = words unless words.nil?
1221
+ yield(self) if block_given?
1222
+ end
1223
+
1224
+ ##
1225
+ # Create a new <Break> element
1226
+ # strength:: Set a pause based on strength
1227
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1228
+ # keyword_args:: additional attributes
1229
+ def break(strength: nil, time: nil, **keyword_args)
1230
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1231
+ end
1232
+
1233
+ ##
1234
+ # Create a new <Emphasis> element
1235
+ # words:: Words to emphasize
1236
+ # level:: Specify the degree of emphasis
1237
+ # keyword_args:: additional attributes
1238
+ def emphasis(words: nil, level: nil, **keyword_args)
1239
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1240
+
1241
+ yield(emphasis) if block_given?
1242
+ append(emphasis)
1243
+ end
1244
+
1245
+ ##
1246
+ # Create a new <Lang> element
1247
+ # words:: Words to speak
1248
+ # xmlLang:: Specify the language
1249
+ # keyword_args:: additional attributes
1250
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1251
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1252
+
1253
+ yield(lang) if block_given?
1254
+ append(lang)
1255
+ end
1256
+
1257
+ ##
1258
+ # Create a new <Phoneme> element
1259
+ # words:: Words to speak
1260
+ # alphabet:: Specify the phonetic alphabet
1261
+ # ph:: Specifiy the phonetic symbols for pronunciation
1262
+ # keyword_args:: additional attributes
1263
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1264
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1265
+ end
1266
+
1267
+ ##
1268
+ # Create a new <Prosody> element
1269
+ # words:: Words to speak
1270
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1271
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1272
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1273
+ # keyword_args:: additional attributes
1274
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1275
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1276
+
1277
+ yield(prosody) if block_given?
1278
+ append(prosody)
1279
+ end
1280
+
1281
+ ##
1282
+ # Create a new <Say-As> element
1283
+ # words:: Words to be interpreted
1284
+ # interpretAs:: Specify the type of words are spoken
1285
+ # format:: Specify the format of the date when interpret-as is set to date
1286
+ # keyword_args:: additional attributes
1287
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1288
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1289
+ end
1290
+
1291
+ ##
1292
+ # Create a new <Sub> element
1293
+ # words:: Words to be substituted
1294
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1295
+ # keyword_args:: additional attributes
1296
+ def sub(words, aliasAttribute: nil, **keyword_args)
1297
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1298
+ end
1299
+
1300
+ ##
1301
+ # Create a new <W> element
1302
+ # words:: Words to speak
1303
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1304
+ # keyword_args:: additional attributes
1305
+ def w(words: nil, role: nil, **keyword_args)
1306
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1307
+
1308
+ yield(w) if block_given?
1309
+ append(w)
1310
+ end
1311
+ end
1312
+
1313
+ ##
1314
+ # Adding a Pause in <Say>
1315
+ class SsmlBreak < TwiML
1316
+ def initialize(**keyword_args)
1317
+ super(**keyword_args)
1318
+ @name = 'break'
1319
+
1320
+ yield(self) if block_given?
1321
+ end
1322
+ end
1323
+
1324
+ ##
1325
+ # <Pay> Twiml Verb
1326
+ class Pay < TwiML
1327
+ def initialize(**keyword_args)
1328
+ super(**keyword_args)
1329
+ @name = 'Pay'
1330
+
1331
+ yield(self) if block_given?
1332
+ end
1333
+
1334
+ ##
1335
+ # Create a new <Prompt> element
1336
+ # for_:: Name of the payment source data element
1337
+ # error_type:: Type of error
1338
+ # card_type:: Type of the credit card
1339
+ # attempt:: Current attempt count
1340
+ # require_matching_inputs:: Require customer to input requested information twice and verify matching.
1341
+ # keyword_args:: additional attributes
1342
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
1343
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
1344
+
1345
+ yield(prompt) if block_given?
1346
+ append(prompt)
1347
+ end
1348
+
1349
+ ##
1350
+ # Create a new <Parameter> element
1351
+ # name:: The name of the custom parameter
1352
+ # value:: The value of the custom parameter
1353
+ # keyword_args:: additional attributes
1354
+ def parameter(name: nil, value: nil, **keyword_args)
1355
+ append(Parameter.new(name: name, value: value, **keyword_args))
1356
+ end
1357
+ end
1358
+
1359
+ ##
1360
+ # <Sms> TwiML Noun
1361
+ class Sms < TwiML
1362
+ def initialize(message, **keyword_args)
1363
+ super(**keyword_args)
1364
+ @name = 'Sms'
1365
+ @value = message
1366
+ yield(self) if block_given?
1367
+ end
1368
+ end
1369
+
1370
+ ##
1371
+ # <Reject> TwiML Verb
1372
+ class Reject < TwiML
1373
+ def initialize(**keyword_args)
1374
+ super(**keyword_args)
1375
+ @name = 'Reject'
1376
+
1377
+ yield(self) if block_given?
1378
+ end
1379
+
1380
+ ##
1381
+ # Create a new <Parameter> element
1382
+ # name:: The name of the custom parameter
1383
+ # value:: The value of the custom parameter
1384
+ # keyword_args:: additional attributes
1385
+ def parameter(name: nil, value: nil, **keyword_args)
1386
+ append(Parameter.new(name: name, value: value, **keyword_args))
1387
+ end
1388
+ end
1389
+
1390
+ ##
1391
+ # <Redirect> TwiML Verb
1392
+ class Redirect < TwiML
1393
+ def initialize(url, **keyword_args)
1394
+ super(**keyword_args)
1395
+ @name = 'Redirect'
1396
+ @value = url
1397
+ yield(self) if block_given?
1398
+ end
1399
+ end
1400
+
1401
+ ##
1402
+ # <Record> TwiML Verb
1403
+ class Record < TwiML
1404
+ def initialize(**keyword_args)
1405
+ super(**keyword_args)
1406
+ @name = 'Record'
1407
+
1408
+ yield(self) if block_given?
1409
+ end
1410
+ end
1411
+
1412
+ ##
1413
+ # <Queue> TwiML Noun
1414
+ class Queue < TwiML
1415
+ def initialize(name, **keyword_args)
1416
+ super(**keyword_args)
1417
+ @name = 'Queue'
1418
+ @value = name
1419
+ yield(self) if block_given?
1420
+ end
1421
+ end
1422
+
1423
+ ##
1424
+ # <Leave> TwiML Verb
1425
+ class Leave < TwiML
1426
+ def initialize(**keyword_args)
1427
+ super(**keyword_args)
1428
+ @name = 'Leave'
1429
+
1430
+ yield(self) if block_given?
1431
+ end
1432
+ end
1433
+
1434
+ ##
1435
+ # <Hangup> TwiML Verb
1436
+ class Hangup < TwiML
1437
+ def initialize(**keyword_args)
1438
+ super(**keyword_args)
1439
+ @name = 'Hangup'
1440
+
1441
+ yield(self) if block_given?
1442
+ end
1443
+
1444
+ ##
1445
+ # Create a new <Parameter> element
1446
+ # name:: The name of the custom parameter
1447
+ # value:: The value of the custom parameter
1448
+ # keyword_args:: additional attributes
1449
+ def parameter(name: nil, value: nil, **keyword_args)
1450
+ append(Parameter.new(name: name, value: value, **keyword_args))
1451
+ end
1452
+ end
1453
+
1454
+ ##
1455
+ # <Gather> TwiML Verb
1456
+ class Gather < TwiML
1457
+ def initialize(**keyword_args)
1458
+ super(**keyword_args)
1459
+ @name = 'Gather'
1460
+
1461
+ yield(self) if block_given?
1462
+ end
1463
+
1464
+ ##
1465
+ # Create a new <Say> element
1466
+ # message:: Message to say
1467
+ # voice:: Voice to use
1468
+ # loop:: Times to loop message
1469
+ # language:: Message language
1470
+ # keyword_args:: additional attributes
1471
+ def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
1472
+ say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
1473
+
1474
+ yield(say) if block_given?
1475
+ append(say)
1476
+ end
1477
+
1478
+ ##
1479
+ # Create a new <Pause> element
1480
+ # length:: Length in seconds to pause
1481
+ # keyword_args:: additional attributes
1482
+ def pause(length: nil, **keyword_args)
1483
+ append(Pause.new(length: length, **keyword_args))
1484
+ end
1485
+
1486
+ ##
1487
+ # Create a new <Play> element
1488
+ # url:: Media URL
1489
+ # loop:: Times to loop media
1490
+ # digits:: Play DTMF tones for digits
1491
+ # keyword_args:: additional attributes
1492
+ def play(url: nil, loop: nil, digits: nil, **keyword_args)
1493
+ append(Play.new(url: url, loop: loop, digits: digits, **keyword_args))
1494
+ end
1495
+ end
1496
+
1497
+ ##
1498
+ # <Enqueue> TwiML Noun
1499
+ class Enqueue < TwiML
1500
+ def initialize(name: nil, **keyword_args)
1501
+ super(**keyword_args)
1502
+ @name = 'Enqueue'
1503
+ @value = name unless name.nil?
1504
+ yield(self) if block_given?
1505
+ end
1506
+
1507
+ ##
1508
+ # Create a new <Task> element
1509
+ # body:: TaskRouter task attributes
1510
+ # priority:: Task priority
1511
+ # timeout:: Timeout associated with task
1512
+ # keyword_args:: additional attributes
1513
+ def task(body, priority: nil, timeout: nil, **keyword_args)
1514
+ append(Task.new(body, priority: priority, timeout: timeout, **keyword_args))
1515
+ end
1516
+ end
1517
+
1518
+ ##
1519
+ # <Task> TwiML Noun
1520
+ class Task < TwiML
1521
+ def initialize(body, **keyword_args)
1522
+ super(**keyword_args)
1523
+ @name = 'Task'
1524
+ @value = body
1525
+ yield(self) if block_given?
1526
+ end
1527
+ end
1528
+
1529
+ ##
1530
+ # <Echo> TwiML Verb
1531
+ class Echo < TwiML
1532
+ def initialize(**keyword_args)
1533
+ super(**keyword_args)
1534
+ @name = 'Echo'
1535
+
1536
+ yield(self) if block_given?
1537
+ end
1538
+ end
1539
+
1540
+ ##
1541
+ # <Dial> TwiML Verb
1542
+ class Dial < TwiML
1543
+ def initialize(number: nil, **keyword_args)
1544
+ super(**keyword_args)
1545
+ @name = 'Dial'
1546
+ @value = number unless number.nil?
1547
+ yield(self) if block_given?
1548
+ end
1549
+
1550
+ ##
1551
+ # Create a new <Client> element
1552
+ # identity:: Client identity
1553
+ # url:: Client URL
1554
+ # method:: Client URL Method
1555
+ # status_callback_event:: Events to trigger status callback
1556
+ # status_callback:: Status Callback URL
1557
+ # status_callback_method:: Status Callback URL Method
1558
+ # keyword_args:: additional attributes
1559
+ def client(identity: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1560
+ client = Client.new(identity: identity, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
1561
+
1562
+ yield(client) if block_given?
1563
+ append(client)
1564
+ end
1565
+
1566
+ ##
1567
+ # Create a new <Conference> element
1568
+ # name:: Conference name
1569
+ # muted:: Join the conference muted
1570
+ # beep:: Play beep when joining
1571
+ # start_conference_on_enter:: Start the conference on enter
1572
+ # end_conference_on_exit:: End the conferenceon exit
1573
+ # wait_url:: Wait URL
1574
+ # wait_method:: Wait URL method
1575
+ # max_participants:: Maximum number of participants
1576
+ # record:: Record the conference
1577
+ # region:: Conference region
1578
+ # coach:: Call coach
1579
+ # trim:: Trim the conference recording
1580
+ # status_callback_event:: Events to call status callback URL
1581
+ # status_callback:: Status callback URL
1582
+ # status_callback_method:: Status callback URL method
1583
+ # recording_status_callback:: Recording status callback URL
1584
+ # recording_status_callback_method:: Recording status callback URL method
1585
+ # recording_status_callback_event:: Recording status callback events
1586
+ # event_callback_url:: Event callback URL
1587
+ # jitter_buffer_size:: Size of jitter buffer for participant
1588
+ # participant_label:: A label for participant
1589
+ # keyword_args:: additional attributes
1590
+ def conference(name, muted: nil, beep: nil, start_conference_on_enter: nil, end_conference_on_exit: nil, wait_url: nil, wait_method: nil, max_participants: nil, record: nil, region: nil, coach: nil, trim: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, event_callback_url: nil, jitter_buffer_size: nil, participant_label: nil, **keyword_args)
1591
+ append(Conference.new(name, muted: muted, beep: beep, start_conference_on_enter: start_conference_on_enter, end_conference_on_exit: end_conference_on_exit, wait_url: wait_url, wait_method: wait_method, max_participants: max_participants, record: record, region: region, coach: coach, trim: trim, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, event_callback_url: event_callback_url, jitter_buffer_size: jitter_buffer_size, participant_label: participant_label, **keyword_args))
1592
+ end
1593
+
1594
+ ##
1595
+ # Create a new <Number> element
1596
+ # phone_number:: Phone Number to dial
1597
+ # send_digits:: DTMF tones to play when the call is answered
1598
+ # url:: TwiML URL
1599
+ # method:: TwiML URL method
1600
+ # status_callback_event:: Events to call status callback
1601
+ # status_callback:: Status callback URL
1602
+ # status_callback_method:: Status callback URL method
1603
+ # byoc:: BYOC trunk SID (Beta)
1604
+ # machine_detection:: Enable machine detection or end of greeting detection
1605
+ # amd_status_callback_method:: HTTP Method to use with amd_status_callback
1606
+ # amd_status_callback:: The URL we should call to send amd status information to your application
1607
+ # machine_detection_timeout:: Number of seconds to wait for machine detection
1608
+ # machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
1609
+ # machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
1610
+ # machine_detection_silence_timeout:: Number of milliseconds of initial silence
1611
+ # keyword_args:: additional attributes
1612
+ 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)
1613
+ 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))
1614
+ end
1615
+
1616
+ ##
1617
+ # Create a new <Queue> element
1618
+ # name:: Queue name
1619
+ # url:: Action URL
1620
+ # method:: Action URL method
1621
+ # reservation_sid:: TaskRouter Reservation SID
1622
+ # post_work_activity_sid:: TaskRouter Activity SID
1623
+ # keyword_args:: additional attributes
1624
+ def queue(name, url: nil, method: nil, reservation_sid: nil, post_work_activity_sid: nil, **keyword_args)
1625
+ append(Queue.new(name, url: url, method: method, reservation_sid: reservation_sid, post_work_activity_sid: post_work_activity_sid, **keyword_args))
1626
+ end
1627
+
1628
+ ##
1629
+ # Create a new <Sim> element
1630
+ # sim_sid:: SIM SID
1631
+ # keyword_args:: additional attributes
1632
+ def sim(sim_sid, **keyword_args)
1633
+ append(Sim.new(sim_sid, **keyword_args))
1634
+ end
1635
+
1636
+ ##
1637
+ # Create a new <Sip> element
1638
+ # sip_url:: SIP URL
1639
+ # username:: SIP Username
1640
+ # password:: SIP Password
1641
+ # url:: Action URL
1642
+ # method:: Action URL method
1643
+ # status_callback_event:: Status callback events
1644
+ # status_callback:: Status callback URL
1645
+ # status_callback_method:: Status callback URL method
1646
+ # machine_detection:: Enable machine detection or end of greeting detection
1647
+ # amd_status_callback_method:: HTTP Method to use with amd_status_callback
1648
+ # amd_status_callback:: The URL we should call to send amd status information to your application
1649
+ # machine_detection_timeout:: Number of seconds to wait for machine detection
1650
+ # machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
1651
+ # machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
1652
+ # machine_detection_silence_timeout:: Number of milliseconds of initial silence
1653
+ # keyword_args:: additional attributes
1654
+ 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)
1655
+ 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))
1656
+ end
1657
+
1658
+ ##
1659
+ # Create a new <Application> element
1660
+ # application_sid:: Application sid
1661
+ # url:: TwiML URL
1662
+ # method:: TwiML URL Method
1663
+ # status_callback_event:: Events to trigger status callback
1664
+ # status_callback:: Status Callback URL
1665
+ # status_callback_method:: Status Callback URL Method
1666
+ # customer_id:: Identity of the customer calling application
1667
+ # copy_parent_to:: Copy parent call To field to called application side, otherwise use the application sid as To field
1668
+ # keyword_args:: additional attributes
1669
+ def application(application_sid: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, customer_id: nil, copy_parent_to: nil, **keyword_args)
1670
+ application = Application.new(application_sid: application_sid, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, customer_id: customer_id, copy_parent_to: copy_parent_to, **keyword_args)
1671
+
1672
+ yield(application) if block_given?
1673
+ append(application)
1674
+ end
1675
+ end
1676
+
1677
+ ##
1678
+ # <Application> TwiML Noun
1679
+ class Application < TwiML
1680
+ def initialize(application_sid: nil, **keyword_args)
1681
+ super(**keyword_args)
1682
+ @name = 'Application'
1683
+ @value = application_sid unless application_sid.nil?
1684
+ yield(self) if block_given?
1685
+ end
1686
+
1687
+ ##
1688
+ # Create a new <ApplicationSid> element
1689
+ # sid:: Application sid to dial
1690
+ # keyword_args:: additional attributes
1691
+ def application_sid(sid, **keyword_args)
1692
+ append(ApplicationSid.new(sid, **keyword_args))
1693
+ end
1694
+
1695
+ ##
1696
+ # Create a new <Parameter> element
1697
+ # name:: The name of the custom parameter
1698
+ # value:: The value of the custom parameter
1699
+ # keyword_args:: additional attributes
1700
+ def parameter(name: nil, value: nil, **keyword_args)
1701
+ append(Parameter.new(name: name, value: value, **keyword_args))
1702
+ end
1703
+ end
1704
+
1705
+ ##
1706
+ # <ApplicationSid> TwiML Noun
1707
+ class ApplicationSid < TwiML
1708
+ def initialize(sid, **keyword_args)
1709
+ super(**keyword_args)
1710
+ @name = 'ApplicationSid'
1711
+ @value = sid
1712
+ yield(self) if block_given?
1713
+ end
1714
+ end
1715
+
1716
+ ##
1717
+ # <Sip> TwiML Noun
1718
+ class Sip < TwiML
1719
+ def initialize(sip_url, **keyword_args)
1720
+ super(**keyword_args)
1721
+ @name = 'Sip'
1722
+ @value = sip_url
1723
+ yield(self) if block_given?
1724
+ end
1725
+ end
1726
+
1727
+ ##
1728
+ # <Sim> TwiML Noun
1729
+ class Sim < TwiML
1730
+ def initialize(sim_sid, **keyword_args)
1731
+ super(**keyword_args)
1732
+ @name = 'Sim'
1733
+ @value = sim_sid
1734
+ yield(self) if block_given?
1735
+ end
1736
+ end
1737
+
1738
+ ##
1739
+ # <Number> TwiML Noun
1740
+ class Number < TwiML
1741
+ def initialize(phone_number, **keyword_args)
1742
+ super(**keyword_args)
1743
+ @name = 'Number'
1744
+ @value = phone_number
1745
+ yield(self) if block_given?
1746
+ end
1747
+ end
1748
+
1749
+ ##
1750
+ # <Conference> TwiML Noun
1751
+ class Conference < TwiML
1752
+ def initialize(name, **keyword_args)
1753
+ super(**keyword_args)
1754
+ @name = 'Conference'
1755
+ @value = name
1756
+ yield(self) if block_given?
1757
+ end
1758
+ end
1759
+
1760
+ ##
1761
+ # <Client> TwiML Noun
1762
+ class Client < TwiML
1763
+ def initialize(identity: nil, **keyword_args)
1764
+ super(**keyword_args)
1765
+ @name = 'Client'
1766
+ @value = identity unless identity.nil?
1767
+ yield(self) if block_given?
1768
+ end
1769
+
1770
+ ##
1771
+ # Create a new <Identity> element
1772
+ # client_identity:: Identity of the client to dial
1773
+ # keyword_args:: additional attributes
1774
+ def identity(client_identity, **keyword_args)
1775
+ append(Identity.new(client_identity, **keyword_args))
1776
+ end
1777
+
1778
+ ##
1779
+ # Create a new <Parameter> element
1780
+ # name:: The name of the custom parameter
1781
+ # value:: The value of the custom parameter
1782
+ # keyword_args:: additional attributes
1783
+ def parameter(name: nil, value: nil, **keyword_args)
1784
+ append(Parameter.new(name: name, value: value, **keyword_args))
1785
+ end
1786
+ end
1787
+
1788
+ ##
1789
+ # <Identity> TwiML Noun
1790
+ class Identity < TwiML
1791
+ def initialize(client_identity, **keyword_args)
1792
+ super(**keyword_args)
1793
+ @name = 'Identity'
1794
+ @value = client_identity
1795
+ yield(self) if block_given?
1796
+ end
1797
+ end
1798
+
1799
+ ##
1800
+ # <Connect> TwiML Verb
1801
+ class Connect < TwiML
1802
+ def initialize(**keyword_args)
1803
+ super(**keyword_args)
1804
+ @name = 'Connect'
1805
+
1806
+ yield(self) if block_given?
1807
+ end
1808
+
1809
+ ##
1810
+ # Create a new <Room> element
1811
+ # name:: Room name
1812
+ # participant_identity:: Participant identity when connecting to the Room
1813
+ # keyword_args:: additional attributes
1814
+ def room(name, participant_identity: nil, **keyword_args)
1815
+ append(Room.new(name, participant_identity: participant_identity, **keyword_args))
1816
+ end
1817
+
1818
+ ##
1819
+ # Create a new <Autopilot> element
1820
+ # name:: Autopilot assistant sid or unique name
1821
+ # keyword_args:: additional attributes
1822
+ def autopilot(name, **keyword_args)
1823
+ append(Autopilot.new(name, **keyword_args))
1824
+ end
1825
+
1826
+ ##
1827
+ # Create a new <Stream> element
1828
+ # name:: Friendly name given to the Stream
1829
+ # connector_name:: Unique name for Stream Connector
1830
+ # url:: URL of the remote service where the Stream is routed
1831
+ # track:: Track to be streamed to remote service
1832
+ # status_callback:: Status Callback URL
1833
+ # status_callback_method:: Status Callback URL method
1834
+ # keyword_args:: additional attributes
1835
+ def stream(name: nil, connector_name: nil, url: nil, track: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1836
+ stream = Stream.new(name: name, connector_name: connector_name, url: url, track: track, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
1837
+
1838
+ yield(stream) if block_given?
1839
+ append(stream)
1840
+ end
1841
+
1842
+ ##
1843
+ # Create a new <VirtualAgent> element
1844
+ # connector_name:: Defines the conversation profile Dialogflow needs to use
1845
+ # language:: Language to be used by Dialogflow to transcribe speech
1846
+ # sentiment_analysis:: Whether sentiment analysis needs to be enabled or not
1847
+ # status_callback:: URL to post status callbacks from Twilio
1848
+ # status_callback_method:: HTTP method to use when requesting the status callback URL
1849
+ # keyword_args:: additional attributes
1850
+ def virtual_agent(connector_name: nil, language: nil, sentiment_analysis: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1851
+ 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)
1852
+
1853
+ yield(virtual_agent) if block_given?
1854
+ append(virtual_agent)
1855
+ end
1856
+
1857
+ ##
1858
+ # Create a new <Conversation> element
1859
+ # service_instance_sid:: Service instance Sid
1860
+ # inbound_autocreation:: Inbound autocreation
1861
+ # routing_assignment_timeout:: Routing assignment timeout
1862
+ # inbound_timeout:: Inbound timeout
1863
+ # url:: TwiML URL
1864
+ # method:: TwiML URL method
1865
+ # record:: Record
1866
+ # trim:: Trim
1867
+ # recording_status_callback:: Recording status callback URL
1868
+ # recording_status_callback_method:: Recording status callback URL method
1869
+ # recording_status_callback_event:: Recording status callback events
1870
+ # status_callback:: Status callback URL
1871
+ # status_callback_method:: Status callback URL method
1872
+ # status_callback_event:: Events to call status callback URL
1873
+ # keyword_args:: additional attributes
1874
+ 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)
1875
+ 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))
1876
+ end
1877
+ end
1878
+
1879
+ ##
1880
+ # <Conversation> TwiML Noun
1881
+ class Conversation < TwiML
1882
+ def initialize(**keyword_args)
1883
+ super(**keyword_args)
1884
+ @name = 'Conversation'
1885
+
1886
+ yield(self) if block_given?
1887
+ end
1888
+ end
1889
+
1890
+ ##
1891
+ # <VirtualAgent> TwiML Noun
1892
+ class VirtualAgent < TwiML
1893
+ def initialize(**keyword_args)
1894
+ super(**keyword_args)
1895
+ @name = 'VirtualAgent'
1896
+
1897
+ yield(self) if block_given?
1898
+ end
1899
+
1900
+ ##
1901
+ # Create a new <Config> element
1902
+ # name:: The name of the custom config
1903
+ # value:: The value of the custom config
1904
+ # keyword_args:: additional attributes
1905
+ def config(name: nil, value: nil, **keyword_args)
1906
+ append(Config.new(name: name, value: value, **keyword_args))
1907
+ end
1908
+
1909
+ ##
1910
+ # Create a new <Parameter> element
1911
+ # name:: The name of the custom parameter
1912
+ # value:: The value of the custom parameter
1913
+ # keyword_args:: additional attributes
1914
+ def parameter(name: nil, value: nil, **keyword_args)
1915
+ append(Parameter.new(name: name, value: value, **keyword_args))
1916
+ end
1917
+ end
1918
+
1919
+ ##
1920
+ # <Config> TwiML Noun
1921
+ class Config < TwiML
1922
+ def initialize(**keyword_args)
1923
+ super(**keyword_args)
1924
+ @name = 'Config'
1925
+
1926
+ yield(self) if block_given?
1927
+ end
1928
+ end
1929
+
1930
+ ##
1931
+ # <Autopilot> TwiML Noun
1932
+ class Autopilot < TwiML
1933
+ def initialize(name, **keyword_args)
1934
+ super(**keyword_args)
1935
+ @name = 'Autopilot'
1936
+ @value = name
1937
+ yield(self) if block_given?
1938
+ end
1939
+ end
1940
+
1941
+ ##
1942
+ # <Room> TwiML Noun
1943
+ class Room < TwiML
1944
+ def initialize(name, **keyword_args)
1945
+ super(**keyword_args)
1946
+ @name = 'Room'
1947
+ @value = name
1948
+ yield(self) if block_given?
1949
+ end
1950
+ end
1951
+ end
1952
+ end