whoosh-ruby 0.1.0 → 0.1.2

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