twilio-ruby 4.6.1 → 6.9.0

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