twilio-ruby 3.11.5 → 5.71.0

Sign up to get free protection for your applications and to get access to all the features.
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