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