twilio-ruby 4.13.0 → 5.6.4

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 (773) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.rubocop.yml +40 -0
  4. data/.rubocop_todo.yml +187 -0
  5. data/.travis.yml +11 -21
  6. data/AUTHORS.md +46 -32
  7. data/CHANGES.md +400 -62
  8. data/CONTRIBUTING.md +159 -0
  9. data/Gemfile +2 -2
  10. data/ISSUE_TEMPLATE.md +26 -0
  11. data/LICENSE.md +12 -12
  12. data/Makefile +18 -4
  13. data/README.md +76 -146
  14. data/Rakefile +54 -0
  15. data/UPGRADE.md +30 -0
  16. data/VERSIONS.md +36 -0
  17. data/examples/examples.rb +46 -57
  18. data/examples/{print-call-log.rb → print_call_log.rb} +6 -6
  19. data/githooks/pre-commit +1 -0
  20. data/lib/rack/twilio_webhook_authentication.rb +5 -6
  21. data/lib/twilio-ruby/framework/domain.rb +34 -0
  22. data/lib/twilio-ruby/framework/error.rb +33 -0
  23. data/lib/twilio-ruby/framework/helper.rb +9 -0
  24. data/lib/twilio-ruby/framework/obsolete_client.rb +10 -0
  25. data/lib/twilio-ruby/framework/page.rb +101 -0
  26. data/lib/twilio-ruby/framework/request.rb +39 -0
  27. data/lib/twilio-ruby/framework/resource.rb +21 -0
  28. data/lib/twilio-ruby/framework/response.rb +16 -0
  29. data/lib/twilio-ruby/framework/serialize.rb +79 -0
  30. data/lib/twilio-ruby/framework/twilio_response.rb +17 -0
  31. data/lib/twilio-ruby/framework/values.rb +7 -0
  32. data/lib/twilio-ruby/framework/version.rb +164 -0
  33. data/lib/twilio-ruby/http/http_client.rb +58 -0
  34. data/lib/twilio-ruby/jwt/access_token.rb +263 -0
  35. data/lib/twilio-ruby/jwt/client_capability.rb +100 -0
  36. data/lib/twilio-ruby/jwt/jwt.rb +51 -0
  37. data/lib/twilio-ruby/jwt/task_router.rb +170 -0
  38. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +338 -0
  39. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +345 -0
  40. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +119 -0
  41. data/lib/twilio-ruby/rest/accounts/v1.rb +33 -0
  42. data/lib/twilio-ruby/rest/accounts.rb +36 -10
  43. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +366 -0
  44. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +490 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +598 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +322 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +396 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +396 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +396 -0
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +396 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +396 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +396 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +396 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +457 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +284 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +304 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +421 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +408 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +756 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +510 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +443 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +397 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +358 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +430 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +457 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +457 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +457 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +844 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +306 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +166 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +353 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +557 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +147 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +147 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +407 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +362 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +332 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +394 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +378 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +390 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +368 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +473 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +409 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +316 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +381 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +388 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +352 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +352 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +548 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +394 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +393 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +153 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +162 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +350 -0
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +302 -0
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +302 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +302 -0
  98. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +302 -0
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +302 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +302 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +302 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +302 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +392 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +482 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +117 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +157 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account.rb +936 -0
  108. data/lib/twilio-ruby/rest/api/v2010.rb +147 -0
  109. data/lib/twilio-ruby/rest/api.rb +234 -0
  110. data/lib/twilio-ruby/rest/chat/v1/credential.rb +382 -0
  111. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +374 -0
  112. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +416 -0
  113. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +428 -0
  114. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +503 -0
  115. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +362 -0
  116. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +240 -0
  117. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +433 -0
  118. data/lib/twilio-ruby/rest/chat/v1/service.rb +891 -0
  119. data/lib/twilio-ruby/rest/chat/v1.rb +56 -0
  120. data/lib/twilio-ruby/rest/chat/v2/credential.rb +382 -0
  121. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +349 -0
  122. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +374 -0
  123. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +442 -0
  124. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +479 -0
  125. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +525 -0
  126. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +362 -0
  127. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +361 -0
  128. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +240 -0
  129. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +463 -0
  130. data/lib/twilio-ruby/rest/chat/v2/service.rb +707 -0
  131. data/lib/twilio-ruby/rest/chat/v2.rb +56 -0
  132. data/lib/twilio-ruby/rest/chat.rb +59 -0
  133. data/lib/twilio-ruby/rest/client.rb +394 -153
  134. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +313 -0
  135. data/lib/twilio-ruby/rest/fax/v1/fax.rb +525 -0
  136. data/lib/twilio-ruby/rest/fax/v1.rb +41 -0
  137. data/lib/twilio-ruby/rest/fax.rb +44 -0
  138. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +382 -0
  139. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +374 -0
  140. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +416 -0
  141. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +428 -0
  142. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +503 -0
  143. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +362 -0
  144. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +240 -0
  145. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +433 -0
  146. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +891 -0
  147. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +56 -0
  148. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +382 -0
  149. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +349 -0
  150. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +374 -0
  151. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +442 -0
  152. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +479 -0
  153. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +525 -0
  154. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +362 -0
  155. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +361 -0
  156. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +240 -0
  157. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +463 -0
  158. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +707 -0
  159. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +56 -0
  160. data/lib/twilio-ruby/rest/ip_messaging.rb +59 -0
  161. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +219 -0
  162. data/lib/twilio-ruby/rest/lookups/v1.rb +41 -0
  163. data/lib/twilio-ruby/rest/lookups.rb +44 -0
  164. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +338 -0
  165. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +345 -0
  166. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +340 -0
  167. data/lib/twilio-ruby/rest/messaging/v1/service.rb +603 -0
  168. data/lib/twilio-ruby/rest/messaging/v1.rb +41 -0
  169. data/lib/twilio-ruby/rest/messaging.rb +44 -0
  170. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +389 -0
  171. data/lib/twilio-ruby/rest/monitor/v1/event.rb +372 -0
  172. data/lib/twilio-ruby/rest/monitor/v1.rb +56 -0
  173. data/lib/twilio-ruby/rest/monitor.rb +52 -0
  174. data/lib/twilio-ruby/rest/notify/v1/credential.rb +390 -0
  175. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +418 -0
  176. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +290 -0
  177. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +223 -0
  178. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +260 -0
  179. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +436 -0
  180. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +424 -0
  181. data/lib/twilio-ruby/rest/notify/v1/service.rb +604 -0
  182. data/lib/twilio-ruby/rest/notify/v1.rb +56 -0
  183. data/lib/twilio-ruby/rest/notify.rb +52 -0
  184. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +183 -0
  185. data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +180 -0
  186. data/lib/twilio-ruby/rest/preview/acc_security/service.rb +386 -0
  187. data/lib/twilio-ruby/rest/preview/acc_security.rb +41 -0
  188. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +209 -0
  189. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +201 -0
  190. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +225 -0
  191. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +56 -0
  192. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +390 -0
  193. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +373 -0
  194. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +433 -0
  195. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +384 -0
  196. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +477 -0
  197. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -0
  198. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +400 -0
  199. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +438 -0
  200. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +634 -0
  201. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +58 -0
  202. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +301 -0
  203. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +320 -0
  204. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +337 -0
  205. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +417 -0
  206. data/lib/twilio-ruby/rest/preview/marketplace.rb +58 -0
  207. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +345 -0
  208. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +435 -0
  209. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +453 -0
  210. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +512 -0
  211. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +495 -0
  212. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +340 -0
  213. data/lib/twilio-ruby/rest/preview/proxy/service.rb +462 -0
  214. data/lib/twilio-ruby/rest/preview/proxy.rb +41 -0
  215. data/lib/twilio-ruby/rest/preview/studio/flow/engagement/step.rb +348 -0
  216. data/lib/twilio-ruby/rest/preview/studio/flow/engagement.rb +370 -0
  217. data/lib/twilio-ruby/rest/preview/studio/flow.rb +353 -0
  218. data/lib/twilio-ruby/rest/preview/studio.rb +41 -0
  219. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +388 -0
  220. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +411 -0
  221. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +419 -0
  222. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +388 -0
  223. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +409 -0
  224. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +416 -0
  225. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +388 -0
  226. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +409 -0
  227. data/lib/twilio-ruby/rest/preview/sync/service.rb +470 -0
  228. data/lib/twilio-ruby/rest/preview/sync.rb +41 -0
  229. data/lib/twilio-ruby/rest/preview/understand/service/field_type/field_value.rb +375 -0
  230. data/lib/twilio-ruby/rest/preview/understand/service/field_type.rb +399 -0
  231. data/lib/twilio-ruby/rest/preview/understand/service/intent/field.rb +371 -0
  232. data/lib/twilio-ruby/rest/preview/understand/service/intent/sample.rb +407 -0
  233. data/lib/twilio-ruby/rest/preview/understand/service/intent.rb +425 -0
  234. data/lib/twilio-ruby/rest/preview/understand/service/model_build.rb +368 -0
  235. data/lib/twilio-ruby/rest/preview/understand/service/query.rb +422 -0
  236. data/lib/twilio-ruby/rest/preview/understand/service.rb +503 -0
  237. data/lib/twilio-ruby/rest/preview/understand.rb +41 -0
  238. data/lib/twilio-ruby/rest/preview/wireless/command.rb +378 -0
  239. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +416 -0
  240. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +228 -0
  241. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +536 -0
  242. data/lib/twilio-ruby/rest/preview/wireless.rb +71 -0
  243. data/lib/twilio-ruby/rest/preview.rb +199 -0
  244. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +277 -0
  245. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +123 -0
  246. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +270 -0
  247. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +123 -0
  248. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +277 -0
  249. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +201 -0
  250. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +139 -0
  251. data/lib/twilio-ruby/rest/pricing/v1.rb +47 -0
  252. data/lib/twilio-ruby/rest/pricing.rb +50 -2
  253. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +356 -0
  254. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +461 -0
  255. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +451 -0
  256. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +503 -0
  257. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +543 -0
  258. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +343 -0
  259. data/lib/twilio-ruby/rest/proxy/v1/service.rb +524 -0
  260. data/lib/twilio-ruby/rest/proxy/v1.rb +41 -0
  261. data/lib/twilio-ruby/rest/proxy.rb +44 -0
  262. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +348 -0
  263. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +370 -0
  264. data/lib/twilio-ruby/rest/studio/v1/flow.rb +346 -0
  265. data/lib/twilio-ruby/rest/studio/v1.rb +41 -0
  266. data/lib/twilio-ruby/rest/studio.rb +44 -0
  267. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +388 -0
  268. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +425 -0
  269. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +429 -0
  270. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +388 -0
  271. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +441 -0
  272. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +426 -0
  273. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +388 -0
  274. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +441 -0
  275. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +142 -0
  276. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +412 -0
  277. data/lib/twilio-ruby/rest/sync/v1/service.rb +503 -0
  278. data/lib/twilio-ruby/rest/sync/v1.rb +41 -0
  279. data/lib/twilio-ruby/rest/sync.rb +44 -0
  280. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +373 -0
  281. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +402 -0
  282. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +582 -0
  283. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +554 -0
  284. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +299 -0
  285. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +341 -0
  286. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +251 -0
  287. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +236 -0
  288. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +253 -0
  289. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +528 -0
  290. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +582 -0
  291. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +386 -0
  292. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +225 -0
  293. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +257 -0
  294. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +192 -0
  295. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +220 -0
  296. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +578 -0
  297. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +348 -0
  298. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +230 -0
  299. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +236 -0
  300. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +481 -0
  301. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +330 -0
  302. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +218 -0
  303. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +210 -0
  304. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +669 -0
  305. data/lib/twilio-ruby/rest/taskrouter/v1.rb +41 -0
  306. data/lib/twilio-ruby/rest/taskrouter.rb +44 -0
  307. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +323 -0
  308. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +323 -0
  309. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +410 -0
  310. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +451 -0
  311. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +528 -0
  312. data/lib/twilio-ruby/rest/trunking/v1.rb +41 -0
  313. data/lib/twilio-ruby/rest/trunking.rb +44 -0
  314. data/lib/twilio-ruby/rest/video/v1/composition.rb +429 -0
  315. data/lib/twilio-ruby/rest/video/v1/recording.rb +380 -0
  316. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +365 -0
  317. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +326 -0
  318. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +311 -0
  319. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +431 -0
  320. data/lib/twilio-ruby/rest/video/v1/room.rb +502 -0
  321. data/lib/twilio-ruby/rest/video/v1.rb +71 -0
  322. data/lib/twilio-ruby/rest/video.rb +60 -0
  323. data/lib/twilio-ruby/rest/wireless/v1/command.rb +358 -0
  324. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +433 -0
  325. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +294 -0
  326. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +234 -0
  327. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +567 -0
  328. data/lib/twilio-ruby/rest/wireless/v1.rb +71 -0
  329. data/lib/twilio-ruby/rest/wireless.rb +60 -0
  330. data/lib/twilio-ruby/{util → security}/request_validator.rb +21 -4
  331. data/lib/twilio-ruby/twiml/fax_response.rb +40 -0
  332. data/lib/twilio-ruby/twiml/messaging_response.rb +105 -0
  333. data/lib/twilio-ruby/twiml/twiml.rb +75 -0
  334. data/lib/twilio-ruby/twiml/voice_response.rb +541 -0
  335. data/lib/twilio-ruby/util/configuration.rb +7 -0
  336. data/lib/twilio-ruby/util.rb +3 -1
  337. data/lib/twilio-ruby/version.rb +1 -1
  338. data/lib/twilio-ruby.rb +30 -102
  339. data/spec/framework/request_spec.rb +36 -0
  340. data/spec/framework/serialize_spec.rb +80 -0
  341. data/spec/holodeck/holodeck.rb +61 -0
  342. data/spec/holodeck/hologram.rb +4 -0
  343. data/spec/http/http_client_spec.rb +122 -0
  344. data/spec/integration/accounts/v1/credential/aws_spec.rb +224 -0
  345. data/spec/integration/accounts/v1/credential/public_key_spec.rb +224 -0
  346. data/spec/integration/accounts/v1/credential_spec.rb +10 -0
  347. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +105 -0
  348. data/spec/integration/api/v2010/account/address_spec.rb +267 -0
  349. data/spec/integration/api/v2010/account/application_spec.rb +284 -0
  350. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +137 -0
  351. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +101 -0
  352. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +101 -0
  353. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +100 -0
  354. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +101 -0
  355. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +101 -0
  356. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +100 -0
  357. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +101 -0
  358. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +128 -0
  359. data/spec/integration/api/v2010/account/call/feedback_spec.rb +137 -0
  360. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +149 -0
  361. data/spec/integration/api/v2010/account/call/notification_spec.rb +179 -0
  362. data/spec/integration/api/v2010/account/call/recording_spec.rb +186 -0
  363. data/spec/integration/api/v2010/account/call_spec.rb +312 -0
  364. data/spec/integration/api/v2010/account/conference/participant_spec.rb +280 -0
  365. data/spec/integration/api/v2010/account/conference_spec.rb +177 -0
  366. data/spec/integration/api/v2010/account/connect_app_spec.rb +177 -0
  367. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +135 -0
  368. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +221 -0
  369. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +183 -0
  370. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +183 -0
  371. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +183 -0
  372. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +339 -0
  373. data/spec/integration/api/v2010/account/key_spec.rb +178 -0
  374. data/spec/integration/api/v2010/account/message/feedback_spec.rb +48 -0
  375. data/spec/integration/api/v2010/account/message/media_spec.rb +162 -0
  376. data/spec/integration/api/v2010/account/message_spec.rb +293 -0
  377. data/spec/integration/api/v2010/account/new_key_spec.rb +45 -0
  378. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +45 -0
  379. data/spec/integration/api/v2010/account/notification_spec.rb +172 -0
  380. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +193 -0
  381. data/spec/integration/api/v2010/account/queue/member_spec.rb +167 -0
  382. data/spec/integration/api/v2010/account/queue_spec.rb +240 -0
  383. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +175 -0
  384. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +166 -0
  385. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +174 -0
  386. data/spec/integration/api/v2010/account/recording_spec.rb +187 -0
  387. data/spec/integration/api/v2010/account/short_code_spec.rb +180 -0
  388. data/spec/integration/api/v2010/account/signing_key_spec.rb +178 -0
  389. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +254 -0
  390. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +242 -0
  391. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +208 -0
  392. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +218 -0
  393. data/spec/integration/api/v2010/account/sip/domain_spec.rb +285 -0
  394. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +258 -0
  395. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +252 -0
  396. data/spec/integration/api/v2010/account/sip_spec.rb +10 -0
  397. data/spec/integration/api/v2010/account/token_spec.rb +56 -0
  398. data/spec/integration/api/v2010/account/transcription_spec.rb +167 -0
  399. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +111 -0
  400. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +111 -0
  401. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +111 -0
  402. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +111 -0
  403. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +111 -0
  404. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +111 -0
  405. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +111 -0
  406. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +111 -0
  407. data/spec/integration/api/v2010/account/usage/record_spec.rb +108 -0
  408. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +283 -0
  409. data/spec/integration/api/v2010/account/usage_spec.rb +10 -0
  410. data/spec/integration/api/v2010/account/validation_request_spec.rb +46 -0
  411. data/spec/integration/api/v2010/account_spec.rb +254 -0
  412. data/spec/integration/chat/v1/credential_spec.rb +221 -0
  413. data/spec/integration/chat/v1/service/channel/invite_spec.rb +208 -0
  414. data/spec/integration/chat/v1/service/channel/member_spec.rb +282 -0
  415. data/spec/integration/chat/v1/service/channel/message_spec.rb +292 -0
  416. data/spec/integration/chat/v1/service/channel_spec.rb +275 -0
  417. data/spec/integration/chat/v1/service/role_spec.rb +261 -0
  418. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +92 -0
  419. data/spec/integration/chat/v1/service/user_spec.rb +264 -0
  420. data/spec/integration/chat/v1/service_spec.rb +297 -0
  421. data/spec/integration/chat/v2/credential_spec.rb +221 -0
  422. data/spec/integration/chat/v2/service/binding_spec.rb +175 -0
  423. data/spec/integration/chat/v2/service/channel/invite_spec.rb +208 -0
  424. data/spec/integration/chat/v2/service/channel/member_spec.rb +255 -0
  425. data/spec/integration/chat/v2/service/channel/message_spec.rb +403 -0
  426. data/spec/integration/chat/v2/service/channel_spec.rb +275 -0
  427. data/spec/integration/chat/v2/service/role_spec.rb +261 -0
  428. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +178 -0
  429. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +92 -0
  430. data/spec/integration/chat/v2/service/user_spec.rb +268 -0
  431. data/spec/integration/chat/v2/service_spec.rb +352 -0
  432. data/spec/integration/fax/v1/fax/fax_media_spec.rb +126 -0
  433. data/spec/integration/fax/v1/fax_spec.rb +269 -0
  434. data/spec/integration/ip_messaging/v1/credential_spec.rb +221 -0
  435. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +208 -0
  436. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +282 -0
  437. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +292 -0
  438. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +275 -0
  439. data/spec/integration/ip_messaging/v1/service/role_spec.rb +261 -0
  440. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +92 -0
  441. data/spec/integration/ip_messaging/v1/service/user_spec.rb +264 -0
  442. data/spec/integration/ip_messaging/v1/service_spec.rb +297 -0
  443. data/spec/integration/ip_messaging/v2/credential_spec.rb +221 -0
  444. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +175 -0
  445. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +208 -0
  446. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +255 -0
  447. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +403 -0
  448. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +275 -0
  449. data/spec/integration/ip_messaging/v2/service/role_spec.rb +261 -0
  450. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +178 -0
  451. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +92 -0
  452. data/spec/integration/ip_messaging/v2/service/user_spec.rb +268 -0
  453. data/spec/integration/ip_messaging/v2/service_spec.rb +352 -0
  454. data/spec/integration/lookups/v1/phone_number_spec.rb +70 -0
  455. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +168 -0
  456. data/spec/integration/messaging/v1/service/phone_number_spec.rb +199 -0
  457. data/spec/integration/messaging/v1/service/short_code_spec.rb +171 -0
  458. data/spec/integration/messaging/v1/service_spec.rb +261 -0
  459. data/spec/integration/monitor/v1/alert_spec.rb +161 -0
  460. data/spec/integration/monitor/v1/event_spec.rb +148 -0
  461. data/spec/integration/notify/v1/credential_spec.rb +221 -0
  462. data/spec/integration/notify/v1/service/binding_spec.rb +223 -0
  463. data/spec/integration/notify/v1/service/notification_spec.rb +97 -0
  464. data/spec/integration/notify/v1/service/segment_spec.rb +84 -0
  465. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +116 -0
  466. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +266 -0
  467. data/spec/integration/notify/v1/service/user_spec.rb +211 -0
  468. data/spec/integration/notify/v1/service_spec.rb +284 -0
  469. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +50 -0
  470. data/spec/integration/preview/acc_security/service/verification_spec.rb +50 -0
  471. data/spec/integration/preview/acc_security/service_spec.rb +183 -0
  472. data/spec/integration/preview/bulk_exports/export/day_spec.rb +56 -0
  473. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +77 -0
  474. data/spec/integration/preview/bulk_exports/export_spec.rb +43 -0
  475. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +236 -0
  476. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +231 -0
  477. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +247 -0
  478. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +235 -0
  479. data/spec/integration/preview/deployed_devices/fleet_spec.rb +244 -0
  480. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +109 -0
  481. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +223 -0
  482. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +391 -0
  483. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +121 -0
  484. data/spec/integration/preview/marketplace/available_add_on_spec.rb +142 -0
  485. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +162 -0
  486. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +252 -0
  487. data/spec/integration/preview/proxy/service/phone_number_spec.rb +171 -0
  488. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +104 -0
  489. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +164 -0
  490. data/spec/integration/preview/proxy/service/session/participant_spec.rb +224 -0
  491. data/spec/integration/preview/proxy/service/session_spec.rb +216 -0
  492. data/spec/integration/preview/proxy/service/short_code_spec.rb +171 -0
  493. data/spec/integration/preview/proxy/service_spec.rb +200 -0
  494. data/spec/integration/preview/studio/flow/engagement/step_spec.rb +96 -0
  495. data/spec/integration/preview/studio/flow/engagement_spec.rb +143 -0
  496. data/spec/integration/preview/studio/flow_spec.rb +115 -0
  497. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +202 -0
  498. data/spec/integration/preview/sync/service/document_spec.rb +252 -0
  499. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +252 -0
  500. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +202 -0
  501. data/spec/integration/preview/sync/service/sync_list_spec.rb +207 -0
  502. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +252 -0
  503. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +202 -0
  504. data/spec/integration/preview/sync/service/sync_map_spec.rb +207 -0
  505. data/spec/integration/preview/sync/service_spec.rb +244 -0
  506. data/spec/integration/preview/understand/service/field_type/field_value_spec.rb +205 -0
  507. data/spec/integration/preview/understand/service/field_type_spec.rb +244 -0
  508. data/spec/integration/preview/understand/service/intent/field_spec.rb +205 -0
  509. data/spec/integration/preview/understand/service/intent/sample_spec.rb +247 -0
  510. data/spec/integration/preview/understand/service/intent_spec.rb +252 -0
  511. data/spec/integration/preview/understand/service/model_build_spec.rb +231 -0
  512. data/spec/integration/preview/understand/service/query_spec.rb +300 -0
  513. data/spec/integration/preview/understand/service_spec.rb +256 -0
  514. data/spec/integration/preview/wireless/command_spec.rb +167 -0
  515. data/spec/integration/preview/wireless/rate_plan_spec.rb +260 -0
  516. data/spec/integration/preview/wireless/sim/usage_spec.rb +49 -0
  517. data/spec/integration/preview/wireless/sim_spec.rb +208 -0
  518. data/spec/integration/pricing/v1/messaging/country_spec.rb +137 -0
  519. data/spec/integration/pricing/v1/messaging_spec.rb +10 -0
  520. data/spec/integration/pricing/v1/phone_number/country_spec.rb +128 -0
  521. data/spec/integration/pricing/v1/phone_number_spec.rb +10 -0
  522. data/spec/integration/pricing/v1/voice/country_spec.rb +266 -0
  523. data/spec/integration/pricing/v1/voice/number_spec.rb +54 -0
  524. data/spec/integration/pricing/v1/voice_spec.rb +10 -0
  525. data/spec/integration/proxy/v1/service/phone_number_spec.rb +182 -0
  526. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +134 -0
  527. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +164 -0
  528. data/spec/integration/proxy/v1/service/session/participant_spec.rb +227 -0
  529. data/spec/integration/proxy/v1/service/session_spec.rb +228 -0
  530. data/spec/integration/proxy/v1/service/short_code_spec.rb +180 -0
  531. data/spec/integration/proxy/v1/service_spec.rb +213 -0
  532. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +96 -0
  533. data/spec/integration/studio/v1/flow/engagement_spec.rb +143 -0
  534. data/spec/integration/studio/v1/flow_spec.rb +114 -0
  535. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +202 -0
  536. data/spec/integration/sync/v1/service/document_spec.rb +255 -0
  537. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +255 -0
  538. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +202 -0
  539. data/spec/integration/sync/v1/service/sync_list_spec.rb +255 -0
  540. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +255 -0
  541. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +202 -0
  542. data/spec/integration/sync/v1/service/sync_map_spec.rb +255 -0
  543. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +45 -0
  544. data/spec/integration/sync/v1/service/sync_stream_spec.rb +247 -0
  545. data/spec/integration/sync/v1/service_spec.rb +252 -0
  546. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +234 -0
  547. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +157 -0
  548. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +192 -0
  549. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +127 -0
  550. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +94 -0
  551. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +79 -0
  552. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +106 -0
  553. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +144 -0
  554. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +296 -0
  555. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +324 -0
  556. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +192 -0
  557. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +186 -0
  558. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +90 -0
  559. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +87 -0
  560. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +68 -0
  561. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +114 -0
  562. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +292 -0
  563. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +95 -0
  564. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +55 -0
  565. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +69 -0
  566. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +270 -0
  567. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +92 -0
  568. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +70 -0
  569. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +103 -0
  570. data/spec/integration/taskrouter/v1/workspace_spec.rb +293 -0
  571. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +190 -0
  572. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +190 -0
  573. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +250 -0
  574. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +265 -0
  575. data/spec/integration/trunking/v1/trunk_spec.rb +276 -0
  576. data/spec/integration/video/v1/composition_spec.rb +223 -0
  577. data/spec/integration/video/v1/recording_spec.rb +171 -0
  578. data/spec/integration/video/v1/room/recording_spec.rb +146 -0
  579. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +94 -0
  580. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +132 -0
  581. data/spec/integration/video/v1/room/room_participant_spec.rb +185 -0
  582. data/spec/integration/video/v1/room_spec.rb +255 -0
  583. data/spec/integration/wireless/v1/command_spec.rb +164 -0
  584. data/spec/integration/wireless/v1/rate_plan_spec.rb +268 -0
  585. data/spec/integration/wireless/v1/sim/data_session_spec.rb +85 -0
  586. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +65 -0
  587. data/spec/integration/wireless/v1/sim_spec.rb +214 -0
  588. data/spec/jwt/access_token_spec.rb +149 -0
  589. data/spec/jwt/client_capability_spec.rb +104 -0
  590. data/spec/jwt/task_router_spec.rb +172 -0
  591. data/spec/rack/twilio_webhook_authentication_spec.rb +19 -23
  592. data/spec/rest/client_spec.rb +29 -257
  593. data/spec/{util → security}/request_validator_spec.rb +5 -5
  594. data/spec/spec_helper.rb +18 -1
  595. data/spec/support/fakeweb.rb +1 -1
  596. data/spec/twiml/messaging_response_spec.rb +95 -0
  597. data/spec/twiml/voice_response_spec.rb +479 -0
  598. data/twilio-ruby.gemspec +14 -11
  599. metadata +904 -248
  600. data/docs/Makefile +0 -130
  601. data/docs/_themes/LICENSE +0 -45
  602. data/docs/_themes/README.rst +0 -25
  603. data/docs/_themes/flask_theme_support.py +0 -86
  604. data/docs/_themes/kr/layout.html +0 -32
  605. data/docs/_themes/kr/relations.html +0 -19
  606. data/docs/_themes/kr/static/flasky.css_t +0 -469
  607. data/docs/_themes/kr/static/small_flask.css +0 -70
  608. data/docs/_themes/kr/theme.conf +0 -7
  609. data/docs/_themes/kr_small/layout.html +0 -22
  610. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  611. data/docs/_themes/kr_small/theme.conf +0 -10
  612. data/docs/changelog.rst +0 -1
  613. data/docs/conf.py +0 -266
  614. data/docs/faq.rst +0 -42
  615. data/docs/getting-started.rst +0 -117
  616. data/docs/index.rst +0 -135
  617. data/docs/make.bat +0 -170
  618. data/docs/src/pip-delete-this-directory.txt +0 -5
  619. data/docs/usage/accounts.rst +0 -89
  620. data/docs/usage/addresses.rst +0 -101
  621. data/docs/usage/applications.rst +0 -108
  622. data/docs/usage/basics.rst +0 -115
  623. data/docs/usage/caller-ids.rst +0 -47
  624. data/docs/usage/conferences.rst +0 -108
  625. data/docs/usage/errors.rst +0 -29
  626. data/docs/usage/lookups.rst +0 -62
  627. data/docs/usage/messages.rst +0 -137
  628. data/docs/usage/notifications.rst +0 -72
  629. data/docs/usage/phone-calls.rst +0 -185
  630. data/docs/usage/phone-numbers.rst +0 -189
  631. data/docs/usage/pricing.rst +0 -169
  632. data/docs/usage/queues.rst +0 -112
  633. data/docs/usage/recordings.rst +0 -98
  634. data/docs/usage/sip.rst +0 -104
  635. data/docs/usage/taskrouter-tokens.rst +0 -98
  636. data/docs/usage/taskrouter.rst +0 -440
  637. data/docs/usage/token-generation.rst +0 -115
  638. data/docs/usage/transcriptions.rst +0 -32
  639. data/docs/usage/twiml.rst +0 -69
  640. data/docs/usage/validation.rst +0 -107
  641. data/examples/taskrouter.examples.rb +0 -86
  642. data/issue_template.md +0 -25
  643. data/lib/twilio-ruby/rest/addresses/dependent_phone_numbers.rb +0 -6
  644. data/lib/twilio-ruby/rest/addresses.rb +0 -12
  645. data/lib/twilio-ruby/rest/applications.rb +0 -6
  646. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  647. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  648. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  649. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  650. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  651. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  652. data/lib/twilio-ruby/rest/base_client.rb +0 -131
  653. data/lib/twilio-ruby/rest/call_feedback.rb +0 -28
  654. data/lib/twilio-ruby/rest/call_feedback_summary.rb +0 -13
  655. data/lib/twilio-ruby/rest/calls.rb +0 -33
  656. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  657. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  658. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  659. data/lib/twilio-ruby/rest/errors.rb +0 -14
  660. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  661. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  662. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  663. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  664. data/lib/twilio-ruby/rest/instance_resource.rb +0 -87
  665. data/lib/twilio-ruby/rest/ip-messaging/channels.rb +0 -15
  666. data/lib/twilio-ruby/rest/ip-messaging/credentials.rb +0 -19
  667. data/lib/twilio-ruby/rest/ip-messaging/members.rb +0 -8
  668. data/lib/twilio-ruby/rest/ip-messaging/messages.rb +0 -8
  669. data/lib/twilio-ruby/rest/ip-messaging/roles.rb +0 -8
  670. data/lib/twilio-ruby/rest/ip-messaging/services.rb +0 -17
  671. data/lib/twilio-ruby/rest/ip-messaging/users.rb +0 -8
  672. data/lib/twilio-ruby/rest/ip_messaging_client.rb +0 -100
  673. data/lib/twilio-ruby/rest/keys.rb +0 -6
  674. data/lib/twilio-ruby/rest/list_resource.rb +0 -100
  675. data/lib/twilio-ruby/rest/lookups/phone_numbers.rb +0 -17
  676. data/lib/twilio-ruby/rest/lookups_client.rb +0 -99
  677. data/lib/twilio-ruby/rest/media.rb +0 -14
  678. data/lib/twilio-ruby/rest/messages.rb +0 -22
  679. data/lib/twilio-ruby/rest/monitor/alerts.rb +0 -8
  680. data/lib/twilio-ruby/rest/monitor/events.rb +0 -8
  681. data/lib/twilio-ruby/rest/monitor_client.rb +0 -101
  682. data/lib/twilio-ruby/rest/next_gen_list_resource.rb +0 -36
  683. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  684. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  685. data/lib/twilio-ruby/rest/pricing/countries.rb +0 -21
  686. data/lib/twilio-ruby/rest/pricing/messaging.rb +0 -15
  687. data/lib/twilio-ruby/rest/pricing/phone_numbers.rb +0 -14
  688. data/lib/twilio-ruby/rest/pricing/voice/numbers.rb +0 -19
  689. data/lib/twilio-ruby/rest/pricing/voice.rb +0 -15
  690. data/lib/twilio-ruby/rest/pricing_client.rb +0 -108
  691. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  692. data/lib/twilio-ruby/rest/queues.rb +0 -12
  693. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  694. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  695. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  696. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  697. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  698. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  699. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  700. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  701. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  702. data/lib/twilio-ruby/rest/sip.rb +0 -10
  703. data/lib/twilio-ruby/rest/sms/messages.rb +0 -38
  704. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  705. data/lib/twilio-ruby/rest/sms.rb +0 -11
  706. data/lib/twilio-ruby/rest/task_router/activities.rb +0 -8
  707. data/lib/twilio-ruby/rest/task_router/events.rb +0 -8
  708. data/lib/twilio-ruby/rest/task_router/reservations.rb +0 -8
  709. data/lib/twilio-ruby/rest/task_router/statistics.rb +0 -26
  710. data/lib/twilio-ruby/rest/task_router/task_queues.rb +0 -17
  711. data/lib/twilio-ruby/rest/task_router/task_queues_statistics.rb +0 -15
  712. data/lib/twilio-ruby/rest/task_router/tasks.rb +0 -15
  713. data/lib/twilio-ruby/rest/task_router/workers.rb +0 -19
  714. data/lib/twilio-ruby/rest/task_router/workers_statistics.rb +0 -8
  715. data/lib/twilio-ruby/rest/task_router/workflow_statistics.rb +0 -7
  716. data/lib/twilio-ruby/rest/task_router/workflows.rb +0 -11
  717. data/lib/twilio-ruby/rest/task_router/workspace_statistics.rb +0 -7
  718. data/lib/twilio-ruby/rest/task_router/workspaces.rb +0 -17
  719. data/lib/twilio-ruby/rest/task_router_client.rb +0 -176
  720. data/lib/twilio-ruby/rest/tokens.rb +0 -7
  721. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  722. data/lib/twilio-ruby/rest/trunking/credential_lists.rb +0 -8
  723. data/lib/twilio-ruby/rest/trunking/ip_access_control_lists.rb +0 -8
  724. data/lib/twilio-ruby/rest/trunking/origination_urls.rb +0 -8
  725. data/lib/twilio-ruby/rest/trunking/phone_numbers.rb +0 -8
  726. data/lib/twilio-ruby/rest/trunking/trunks.rb +0 -19
  727. data/lib/twilio-ruby/rest/trunking_client.rb +0 -106
  728. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  729. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  730. data/lib/twilio-ruby/rest/usage.rb +0 -10
  731. data/lib/twilio-ruby/rest/utils.rb +0 -49
  732. data/lib/twilio-ruby/task_router/capability.rb +0 -230
  733. data/lib/twilio-ruby/task_router/workflow_builder.rb +0 -135
  734. data/lib/twilio-ruby/task_router.rb +0 -0
  735. data/lib/twilio-ruby/twiml/response.rb +0 -16
  736. data/lib/twilio-ruby/util/access_token.rb +0 -158
  737. data/lib/twilio-ruby/util/capability.rb +0 -64
  738. data/lib/twilio-ruby/util/client_config.rb +0 -29
  739. data/spec/rest/account_spec.rb +0 -89
  740. data/spec/rest/address_spec.rb +0 -11
  741. data/spec/rest/call_feedback_spec.rb +0 -12
  742. data/spec/rest/call_feedback_summary_spec.rb +0 -9
  743. data/spec/rest/call_spec.rb +0 -22
  744. data/spec/rest/conference_spec.rb +0 -11
  745. data/spec/rest/instance_resource_spec.rb +0 -15
  746. data/spec/rest/ip-messaging/channel_spec.rb +0 -21
  747. data/spec/rest/ip-messaging/service_spec.rb +0 -30
  748. data/spec/rest/ip_messaging_client_spec.rb +0 -21
  749. data/spec/rest/key_spec.rb +0 -11
  750. data/spec/rest/lookups/phone_number_spec.rb +0 -28
  751. data/spec/rest/message_spec.rb +0 -12
  752. data/spec/rest/monitor_client_spec.rb +0 -17
  753. data/spec/rest/numbers_spec.rb +0 -58
  754. data/spec/rest/pricing_client_spec.rb +0 -60
  755. data/spec/rest/queue_spec.rb +0 -11
  756. data/spec/rest/recording_spec.rb +0 -11
  757. data/spec/rest/sms/message_spec.rb +0 -37
  758. data/spec/rest/sms/messages_spec.rb +0 -31
  759. data/spec/rest/task_router/reservation_spec.rb +0 -14
  760. data/spec/rest/task_router/statistics_spec.rb +0 -37
  761. data/spec/rest/task_router/task_queue_spec.rb +0 -9
  762. data/spec/rest/token_spec.rb +0 -7
  763. data/spec/rest/trunking/trunk_spec.rb +0 -36
  764. data/spec/rest/utils_spec.rb +0 -45
  765. data/spec/task_router/workflow_builder_spec.rb +0 -501
  766. data/spec/task_router_deprecated_spec.rb +0 -139
  767. data/spec/task_router_spec.rb +0 -110
  768. data/spec/task_router_taskqueue_spec.rb +0 -111
  769. data/spec/task_router_worker_spec.rb +0 -146
  770. data/spec/task_router_workspace_spec.rb +0 -110
  771. data/spec/util/access_token_spec.rb +0 -161
  772. data/spec/util/capability_spec.rb +0 -186
  773. data/spec/util/client_config_spec.rb +0 -21
@@ -0,0 +1,669 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ module Twilio
8
+ module REST
9
+ class Taskrouter < Domain
10
+ class V1 < Version
11
+ class WorkspaceList < ListResource
12
+ ##
13
+ # Initialize the WorkspaceList
14
+ # @param [Version] version Version that contains the resource
15
+ # @return [WorkspaceList] WorkspaceList
16
+ def initialize(version)
17
+ super(version)
18
+
19
+ # Path Solution
20
+ @solution = {}
21
+ @uri = "/Workspaces"
22
+ end
23
+
24
+ ##
25
+ # Lists WorkspaceInstance records from the API as a list.
26
+ # Unlike stream(), this operation is eager and will load `limit` records into
27
+ # memory before returning.
28
+ # @param [String] friendly_name The friendly_name
29
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
30
+ # guarantees to never return more than limit. Default is no limit
31
+ # @param [Integer] page_size Number of records to fetch per request, when
32
+ # not set will use the default value of 50 records. If no page_size is defined
33
+ # but a limit is defined, stream() will attempt to read the limit with the most
34
+ # efficient page size, i.e. min(limit, 1000)
35
+ # @return [Array] Array of up to limit results
36
+ def list(friendly_name: :unset, limit: nil, page_size: nil)
37
+ self.stream(friendly_name: friendly_name, limit: limit, page_size: page_size).entries
38
+ end
39
+
40
+ ##
41
+ # Streams WorkspaceInstance records from the API as an Enumerable.
42
+ # This operation lazily loads records as efficiently as possible until the limit
43
+ # is reached.
44
+ # @param [String] friendly_name The friendly_name
45
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
46
+ # guarantees to never return more than limit. Default is no limit.
47
+ # @param [Integer] page_size Number of records to fetch per request, when
48
+ # not set will use the default value of 50 records. If no page_size is defined
49
+ # but a limit is defined, stream() will attempt to read the limit with the most
50
+ # efficient page size, i.e. min(limit, 1000)
51
+ # @return [Enumerable] Enumerable that will yield up to limit results
52
+ def stream(friendly_name: :unset, limit: nil, page_size: nil)
53
+ limits = @version.read_limits(limit, page_size)
54
+
55
+ page = self.page(friendly_name: friendly_name, page_size: limits[:page_size], )
56
+
57
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
58
+ end
59
+
60
+ ##
61
+ # When passed a block, yields WorkspaceInstance records from the API.
62
+ # This operation lazily loads records as efficiently as possible until the limit
63
+ # is reached.
64
+ def each
65
+ limits = @version.read_limits
66
+
67
+ page = self.page(page_size: limits[:page_size], )
68
+
69
+ @version.stream(page,
70
+ limit: limits[:limit],
71
+ page_limit: limits[:page_limit]).each {|x| yield x}
72
+ end
73
+
74
+ ##
75
+ # Retrieve a single page of WorkspaceInstance records from the API.
76
+ # Request is executed immediately.
77
+ # @param [String] friendly_name The friendly_name
78
+ # @param [String] page_token PageToken provided by the API
79
+ # @param [Integer] page_number Page Number, this value is simply for client state
80
+ # @param [Integer] page_size Number of records to return, defaults to 50
81
+ # @return [Page] Page of WorkspaceInstance
82
+ def page(friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
83
+ params = Twilio::Values.of({
84
+ 'FriendlyName' => friendly_name,
85
+ 'PageToken' => page_token,
86
+ 'Page' => page_number,
87
+ 'PageSize' => page_size,
88
+ })
89
+ response = @version.page(
90
+ 'GET',
91
+ @uri,
92
+ params
93
+ )
94
+ WorkspacePage.new(@version, response, @solution)
95
+ end
96
+
97
+ ##
98
+ # Retrieve a single page of WorkspaceInstance records from the API.
99
+ # Request is executed immediately.
100
+ # @param [String] target_url API-generated URL for the requested results page
101
+ # @return [Page] Page of WorkspaceInstance
102
+ def get_page(target_url)
103
+ response = @version.domain.request(
104
+ 'GET',
105
+ target_url
106
+ )
107
+ WorkspacePage.new(@version, response, @solution)
108
+ end
109
+
110
+ ##
111
+ # Retrieve a single page of WorkspaceInstance records from the API.
112
+ # Request is executed immediately.
113
+ # @param [String] friendly_name The friendly_name
114
+ # @param [String] event_callback_url The event_callback_url
115
+ # @param [String] events_filter The events_filter
116
+ # @param [Boolean] multi_task_enabled The multi_task_enabled
117
+ # @param [String] template The template
118
+ # @param [workspace.QueueOrder] prioritize_queue_order The prioritize_queue_order
119
+ # @return [WorkspaceInstance] Newly created WorkspaceInstance
120
+ def create(friendly_name: nil, event_callback_url: :unset, events_filter: :unset, multi_task_enabled: :unset, template: :unset, prioritize_queue_order: :unset)
121
+ data = Twilio::Values.of({
122
+ 'FriendlyName' => friendly_name,
123
+ 'EventCallbackUrl' => event_callback_url,
124
+ 'EventsFilter' => events_filter,
125
+ 'MultiTaskEnabled' => multi_task_enabled,
126
+ 'Template' => template,
127
+ 'PrioritizeQueueOrder' => prioritize_queue_order,
128
+ })
129
+
130
+ payload = @version.create(
131
+ 'POST',
132
+ @uri,
133
+ data: data
134
+ )
135
+
136
+ WorkspaceInstance.new(@version, payload, )
137
+ end
138
+
139
+ ##
140
+ # Provide a user friendly representation
141
+ def to_s
142
+ '#<Twilio.Taskrouter.V1.WorkspaceList>'
143
+ end
144
+ end
145
+
146
+ class WorkspacePage < Page
147
+ ##
148
+ # Initialize the WorkspacePage
149
+ # @param [Version] version Version that contains the resource
150
+ # @param [Response] response Response from the API
151
+ # @param [Hash] solution Path solution for the resource
152
+ # @return [WorkspacePage] WorkspacePage
153
+ def initialize(version, response, solution)
154
+ super(version, response)
155
+
156
+ # Path Solution
157
+ @solution = solution
158
+ end
159
+
160
+ ##
161
+ # Build an instance of WorkspaceInstance
162
+ # @param [Hash] payload Payload response from the API
163
+ # @return [WorkspaceInstance] WorkspaceInstance
164
+ def get_instance(payload)
165
+ WorkspaceInstance.new(@version, payload, )
166
+ end
167
+
168
+ ##
169
+ # Provide a user friendly representation
170
+ def to_s
171
+ '<Twilio.Taskrouter.V1.WorkspacePage>'
172
+ end
173
+ end
174
+
175
+ class WorkspaceContext < InstanceContext
176
+ ##
177
+ # Initialize the WorkspaceContext
178
+ # @param [Version] version Version that contains the resource
179
+ # @param [String] sid The sid
180
+ # @return [WorkspaceContext] WorkspaceContext
181
+ def initialize(version, sid)
182
+ super(version)
183
+
184
+ # Path Solution
185
+ @solution = {sid: sid, }
186
+ @uri = "/Workspaces/#{@solution[:sid]}"
187
+
188
+ # Dependents
189
+ @activities = nil
190
+ @events = nil
191
+ @tasks = nil
192
+ @task_queues = nil
193
+ @workers = nil
194
+ @workflows = nil
195
+ @statistics = nil
196
+ @real_time_statistics = nil
197
+ @cumulative_statistics = nil
198
+ @task_channels = nil
199
+ end
200
+
201
+ ##
202
+ # Fetch a WorkspaceInstance
203
+ # @return [WorkspaceInstance] Fetched WorkspaceInstance
204
+ def fetch
205
+ params = Twilio::Values.of({})
206
+
207
+ payload = @version.fetch(
208
+ 'GET',
209
+ @uri,
210
+ params,
211
+ )
212
+
213
+ WorkspaceInstance.new(@version, payload, sid: @solution[:sid], )
214
+ end
215
+
216
+ ##
217
+ # Update the WorkspaceInstance
218
+ # @param [String] default_activity_sid The default_activity_sid
219
+ # @param [String] event_callback_url The event_callback_url
220
+ # @param [String] events_filter The events_filter
221
+ # @param [String] friendly_name The friendly_name
222
+ # @param [Boolean] multi_task_enabled The multi_task_enabled
223
+ # @param [String] timeout_activity_sid The timeout_activity_sid
224
+ # @param [workspace.QueueOrder] prioritize_queue_order The prioritize_queue_order
225
+ # @return [WorkspaceInstance] Updated WorkspaceInstance
226
+ def update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset)
227
+ data = Twilio::Values.of({
228
+ 'DefaultActivitySid' => default_activity_sid,
229
+ 'EventCallbackUrl' => event_callback_url,
230
+ 'EventsFilter' => events_filter,
231
+ 'FriendlyName' => friendly_name,
232
+ 'MultiTaskEnabled' => multi_task_enabled,
233
+ 'TimeoutActivitySid' => timeout_activity_sid,
234
+ 'PrioritizeQueueOrder' => prioritize_queue_order,
235
+ })
236
+
237
+ payload = @version.update(
238
+ 'POST',
239
+ @uri,
240
+ data: data,
241
+ )
242
+
243
+ WorkspaceInstance.new(@version, payload, sid: @solution[:sid], )
244
+ end
245
+
246
+ ##
247
+ # Deletes the WorkspaceInstance
248
+ # @return [Boolean] true if delete succeeds, true otherwise
249
+ def delete
250
+ @version.delete('delete', @uri)
251
+ end
252
+
253
+ ##
254
+ # Access the activities
255
+ # @return [ActivityList]
256
+ # @return [ActivityContext] if sid was passed.
257
+ def activities(sid=:unset)
258
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
259
+
260
+ if sid != :unset
261
+ return ActivityContext.new(@version, @solution[:sid], sid, )
262
+ end
263
+
264
+ unless @activities
265
+ @activities = ActivityList.new(@version, workspace_sid: @solution[:sid], )
266
+ end
267
+
268
+ @activities
269
+ end
270
+
271
+ ##
272
+ # Access the events
273
+ # @return [EventList]
274
+ # @return [EventContext] if sid was passed.
275
+ def events(sid=:unset)
276
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
277
+
278
+ if sid != :unset
279
+ return EventContext.new(@version, @solution[:sid], sid, )
280
+ end
281
+
282
+ unless @events
283
+ @events = EventList.new(@version, workspace_sid: @solution[:sid], )
284
+ end
285
+
286
+ @events
287
+ end
288
+
289
+ ##
290
+ # Access the tasks
291
+ # @return [TaskList]
292
+ # @return [TaskContext] if sid was passed.
293
+ def tasks(sid=:unset)
294
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
295
+
296
+ if sid != :unset
297
+ return TaskContext.new(@version, @solution[:sid], sid, )
298
+ end
299
+
300
+ unless @tasks
301
+ @tasks = TaskList.new(@version, workspace_sid: @solution[:sid], )
302
+ end
303
+
304
+ @tasks
305
+ end
306
+
307
+ ##
308
+ # Access the task_queues
309
+ # @return [TaskQueueList]
310
+ # @return [TaskQueueContext] if sid was passed.
311
+ def task_queues(sid=:unset)
312
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
313
+
314
+ if sid != :unset
315
+ return TaskQueueContext.new(@version, @solution[:sid], sid, )
316
+ end
317
+
318
+ unless @task_queues
319
+ @task_queues = TaskQueueList.new(@version, workspace_sid: @solution[:sid], )
320
+ end
321
+
322
+ @task_queues
323
+ end
324
+
325
+ ##
326
+ # Access the workers
327
+ # @return [WorkerList]
328
+ # @return [WorkerContext] if sid was passed.
329
+ def workers(sid=:unset)
330
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
331
+
332
+ if sid != :unset
333
+ return WorkerContext.new(@version, @solution[:sid], sid, )
334
+ end
335
+
336
+ unless @workers
337
+ @workers = WorkerList.new(@version, workspace_sid: @solution[:sid], )
338
+ end
339
+
340
+ @workers
341
+ end
342
+
343
+ ##
344
+ # Access the workflows
345
+ # @return [WorkflowList]
346
+ # @return [WorkflowContext] if sid was passed.
347
+ def workflows(sid=:unset)
348
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
349
+
350
+ if sid != :unset
351
+ return WorkflowContext.new(@version, @solution[:sid], sid, )
352
+ end
353
+
354
+ unless @workflows
355
+ @workflows = WorkflowList.new(@version, workspace_sid: @solution[:sid], )
356
+ end
357
+
358
+ @workflows
359
+ end
360
+
361
+ ##
362
+ # Access the statistics
363
+ # @return [WorkspaceStatisticsList]
364
+ # @return [WorkspaceStatisticsContext]
365
+ def statistics
366
+ WorkspaceStatisticsContext.new(@version, @solution[:sid], )
367
+ end
368
+
369
+ ##
370
+ # Access the real_time_statistics
371
+ # @return [WorkspaceRealTimeStatisticsList]
372
+ # @return [WorkspaceRealTimeStatisticsContext]
373
+ def real_time_statistics
374
+ WorkspaceRealTimeStatisticsContext.new(@version, @solution[:sid], )
375
+ end
376
+
377
+ ##
378
+ # Access the cumulative_statistics
379
+ # @return [WorkspaceCumulativeStatisticsList]
380
+ # @return [WorkspaceCumulativeStatisticsContext]
381
+ def cumulative_statistics
382
+ WorkspaceCumulativeStatisticsContext.new(@version, @solution[:sid], )
383
+ end
384
+
385
+ ##
386
+ # Access the task_channels
387
+ # @return [TaskChannelList]
388
+ # @return [TaskChannelContext] if sid was passed.
389
+ def task_channels(sid=:unset)
390
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
391
+
392
+ if sid != :unset
393
+ return TaskChannelContext.new(@version, @solution[:sid], sid, )
394
+ end
395
+
396
+ unless @task_channels
397
+ @task_channels = TaskChannelList.new(@version, workspace_sid: @solution[:sid], )
398
+ end
399
+
400
+ @task_channels
401
+ end
402
+
403
+ ##
404
+ # Provide a user friendly representation
405
+ def to_s
406
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
407
+ "#<Twilio.Taskrouter.V1.WorkspaceContext #{context}>"
408
+ end
409
+ end
410
+
411
+ class WorkspaceInstance < InstanceResource
412
+ ##
413
+ # Initialize the WorkspaceInstance
414
+ # @param [Version] version Version that contains the resource
415
+ # @param [Hash] payload payload that contains response from Twilio
416
+ # @param [String] sid The sid
417
+ # @return [WorkspaceInstance] WorkspaceInstance
418
+ def initialize(version, payload, sid: nil)
419
+ super(version)
420
+
421
+ # Marshaled Properties
422
+ @properties = {
423
+ 'account_sid' => payload['account_sid'],
424
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
425
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
426
+ 'default_activity_name' => payload['default_activity_name'],
427
+ 'default_activity_sid' => payload['default_activity_sid'],
428
+ 'event_callback_url' => payload['event_callback_url'],
429
+ 'events_filter' => payload['events_filter'],
430
+ 'friendly_name' => payload['friendly_name'],
431
+ 'multi_task_enabled' => payload['multi_task_enabled'],
432
+ 'sid' => payload['sid'],
433
+ 'timeout_activity_name' => payload['timeout_activity_name'],
434
+ 'timeout_activity_sid' => payload['timeout_activity_sid'],
435
+ 'prioritize_queue_order' => payload['prioritize_queue_order'],
436
+ 'url' => payload['url'],
437
+ 'links' => payload['links'],
438
+ }
439
+
440
+ # Context
441
+ @instance_context = nil
442
+ @params = {'sid' => sid || @properties['sid'], }
443
+ end
444
+
445
+ ##
446
+ # Generate an instance context for the instance, the context is capable of
447
+ # performing various actions. All instance actions are proxied to the context
448
+ # @return [WorkspaceContext] WorkspaceContext for this WorkspaceInstance
449
+ def context
450
+ unless @instance_context
451
+ @instance_context = WorkspaceContext.new(@version, @params['sid'], )
452
+ end
453
+ @instance_context
454
+ end
455
+
456
+ ##
457
+ # @return [String] The account_sid
458
+ def account_sid
459
+ @properties['account_sid']
460
+ end
461
+
462
+ ##
463
+ # @return [Time] The date_created
464
+ def date_created
465
+ @properties['date_created']
466
+ end
467
+
468
+ ##
469
+ # @return [Time] The date_updated
470
+ def date_updated
471
+ @properties['date_updated']
472
+ end
473
+
474
+ ##
475
+ # @return [String] The default_activity_name
476
+ def default_activity_name
477
+ @properties['default_activity_name']
478
+ end
479
+
480
+ ##
481
+ # @return [String] The default_activity_sid
482
+ def default_activity_sid
483
+ @properties['default_activity_sid']
484
+ end
485
+
486
+ ##
487
+ # @return [String] The event_callback_url
488
+ def event_callback_url
489
+ @properties['event_callback_url']
490
+ end
491
+
492
+ ##
493
+ # @return [String] The events_filter
494
+ def events_filter
495
+ @properties['events_filter']
496
+ end
497
+
498
+ ##
499
+ # @return [String] The friendly_name
500
+ def friendly_name
501
+ @properties['friendly_name']
502
+ end
503
+
504
+ ##
505
+ # @return [Boolean] The multi_task_enabled
506
+ def multi_task_enabled
507
+ @properties['multi_task_enabled']
508
+ end
509
+
510
+ ##
511
+ # @return [String] The sid
512
+ def sid
513
+ @properties['sid']
514
+ end
515
+
516
+ ##
517
+ # @return [String] The timeout_activity_name
518
+ def timeout_activity_name
519
+ @properties['timeout_activity_name']
520
+ end
521
+
522
+ ##
523
+ # @return [String] The timeout_activity_sid
524
+ def timeout_activity_sid
525
+ @properties['timeout_activity_sid']
526
+ end
527
+
528
+ ##
529
+ # @return [workspace.QueueOrder] The prioritize_queue_order
530
+ def prioritize_queue_order
531
+ @properties['prioritize_queue_order']
532
+ end
533
+
534
+ ##
535
+ # @return [String] The url
536
+ def url
537
+ @properties['url']
538
+ end
539
+
540
+ ##
541
+ # @return [String] The links
542
+ def links
543
+ @properties['links']
544
+ end
545
+
546
+ ##
547
+ # Fetch a WorkspaceInstance
548
+ # @return [WorkspaceInstance] Fetched WorkspaceInstance
549
+ def fetch
550
+ context.fetch
551
+ end
552
+
553
+ ##
554
+ # Update the WorkspaceInstance
555
+ # @param [String] default_activity_sid The default_activity_sid
556
+ # @param [String] event_callback_url The event_callback_url
557
+ # @param [String] events_filter The events_filter
558
+ # @param [String] friendly_name The friendly_name
559
+ # @param [Boolean] multi_task_enabled The multi_task_enabled
560
+ # @param [String] timeout_activity_sid The timeout_activity_sid
561
+ # @param [workspace.QueueOrder] prioritize_queue_order The prioritize_queue_order
562
+ # @return [WorkspaceInstance] Updated WorkspaceInstance
563
+ def update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset)
564
+ context.update(
565
+ default_activity_sid: default_activity_sid,
566
+ event_callback_url: event_callback_url,
567
+ events_filter: events_filter,
568
+ friendly_name: friendly_name,
569
+ multi_task_enabled: multi_task_enabled,
570
+ timeout_activity_sid: timeout_activity_sid,
571
+ prioritize_queue_order: prioritize_queue_order,
572
+ )
573
+ end
574
+
575
+ ##
576
+ # Deletes the WorkspaceInstance
577
+ # @return [Boolean] true if delete succeeds, true otherwise
578
+ def delete
579
+ context.delete
580
+ end
581
+
582
+ ##
583
+ # Access the activities
584
+ # @return [activities] activities
585
+ def activities
586
+ context.activities
587
+ end
588
+
589
+ ##
590
+ # Access the events
591
+ # @return [events] events
592
+ def events
593
+ context.events
594
+ end
595
+
596
+ ##
597
+ # Access the tasks
598
+ # @return [tasks] tasks
599
+ def tasks
600
+ context.tasks
601
+ end
602
+
603
+ ##
604
+ # Access the task_queues
605
+ # @return [task_queues] task_queues
606
+ def task_queues
607
+ context.task_queues
608
+ end
609
+
610
+ ##
611
+ # Access the workers
612
+ # @return [workers] workers
613
+ def workers
614
+ context.workers
615
+ end
616
+
617
+ ##
618
+ # Access the workflows
619
+ # @return [workflows] workflows
620
+ def workflows
621
+ context.workflows
622
+ end
623
+
624
+ ##
625
+ # Access the statistics
626
+ # @return [statistics] statistics
627
+ def statistics
628
+ context.statistics
629
+ end
630
+
631
+ ##
632
+ # Access the real_time_statistics
633
+ # @return [real_time_statistics] real_time_statistics
634
+ def real_time_statistics
635
+ context.real_time_statistics
636
+ end
637
+
638
+ ##
639
+ # Access the cumulative_statistics
640
+ # @return [cumulative_statistics] cumulative_statistics
641
+ def cumulative_statistics
642
+ context.cumulative_statistics
643
+ end
644
+
645
+ ##
646
+ # Access the task_channels
647
+ # @return [task_channels] task_channels
648
+ def task_channels
649
+ context.task_channels
650
+ end
651
+
652
+ ##
653
+ # Provide a user friendly representation
654
+ def to_s
655
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
656
+ "<Twilio.Taskrouter.V1.WorkspaceInstance #{values}>"
657
+ end
658
+
659
+ ##
660
+ # Provide a detailed, user friendly representation
661
+ def inspect
662
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
663
+ "<Twilio.Taskrouter.V1.WorkspaceInstance #{values}>"
664
+ end
665
+ end
666
+ end
667
+ end
668
+ end
669
+ end
@@ -0,0 +1,41 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ module Twilio
8
+ module REST
9
+ class Taskrouter
10
+ class V1 < Version
11
+ ##
12
+ # Initialize the V1 version of Taskrouter
13
+ def initialize(domain)
14
+ super
15
+ @version = 'v1'
16
+ @workspaces = nil
17
+ end
18
+
19
+ ##
20
+ # @param [String] sid The sid
21
+ # @return [Twilio::REST::Taskrouter::V1::WorkspaceContext] if sid was passed.
22
+ # @return [Twilio::REST::Taskrouter::V1::WorkspaceList]
23
+ def workspaces(sid=:unset)
24
+ if sid.nil?
25
+ raise ArgumentError, 'sid cannot be nil'
26
+ elsif sid == :unset
27
+ @workspaces ||= WorkspaceList.new self
28
+ else
29
+ WorkspaceContext.new(self, sid)
30
+ end
31
+ end
32
+
33
+ ##
34
+ # Provide a user friendly representation
35
+ def to_s
36
+ '<Twilio::REST::Taskrouter::V1>'
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end