whoosh-ruby 0.1.0 → 0.1.2

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