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,543 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ module Twilio
8
+ module REST
9
+ class Proxy < Domain
10
+ class V1 < Version
11
+ class ServiceContext < InstanceContext
12
+ ##
13
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
14
+ class SessionList < ListResource
15
+ ##
16
+ # Initialize the SessionList
17
+ # @param [Version] version Version that contains the resource
18
+ # @param [String] service_sid The unique SID identifier of the Service.
19
+ # @return [SessionList] SessionList
20
+ def initialize(version, service_sid: nil)
21
+ super(version)
22
+
23
+ # Path Solution
24
+ @solution = {service_sid: service_sid}
25
+ @uri = "/Services/#{@solution[:service_sid]}/Sessions"
26
+ end
27
+
28
+ ##
29
+ # Lists SessionInstance records from the API as a list.
30
+ # Unlike stream(), this operation is eager and will load `limit` records into
31
+ # memory before returning.
32
+ # @param [String] unique_name Provides a unique and addressable name to be
33
+ # assigned to this Session, assigned by the developer, to be optionally used in
34
+ # addition to SID.
35
+ # @param [session.Status] status The Status of this Session. One of `in-progress`,
36
+ # `closed`, `failed`, `unknown` or `completed`.
37
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
38
+ # guarantees to never return more than limit. Default is no limit
39
+ # @param [Integer] page_size Number of records to fetch per request, when
40
+ # not set will use the default value of 50 records. If no page_size is defined
41
+ # but a limit is defined, stream() will attempt to read the limit with the most
42
+ # efficient page size, i.e. min(limit, 1000)
43
+ # @return [Array] Array of up to limit results
44
+ def list(unique_name: :unset, status: :unset, limit: nil, page_size: nil)
45
+ self.stream(unique_name: unique_name, status: status, limit: limit, page_size: page_size).entries
46
+ end
47
+
48
+ ##
49
+ # Streams SessionInstance records from the API as an Enumerable.
50
+ # This operation lazily loads records as efficiently as possible until the limit
51
+ # is reached.
52
+ # @param [String] unique_name Provides a unique and addressable name to be
53
+ # assigned to this Session, assigned by the developer, to be optionally used in
54
+ # addition to SID.
55
+ # @param [session.Status] status The Status of this Session. One of `in-progress`,
56
+ # `closed`, `failed`, `unknown` or `completed`.
57
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
58
+ # guarantees to never return more than limit. Default is no limit.
59
+ # @param [Integer] page_size Number of records to fetch per request, when
60
+ # not set will use the default value of 50 records. If no page_size is defined
61
+ # but a limit is defined, stream() will attempt to read the limit with the most
62
+ # efficient page size, i.e. min(limit, 1000)
63
+ # @return [Enumerable] Enumerable that will yield up to limit results
64
+ def stream(unique_name: :unset, status: :unset, limit: nil, page_size: nil)
65
+ limits = @version.read_limits(limit, page_size)
66
+
67
+ page = self.page(unique_name: unique_name, status: status, page_size: limits[:page_size], )
68
+
69
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
70
+ end
71
+
72
+ ##
73
+ # When passed a block, yields SessionInstance records from the API.
74
+ # This operation lazily loads records as efficiently as possible until the limit
75
+ # is reached.
76
+ def each
77
+ limits = @version.read_limits
78
+
79
+ page = self.page(page_size: limits[:page_size], )
80
+
81
+ @version.stream(page,
82
+ limit: limits[:limit],
83
+ page_limit: limits[:page_limit]).each {|x| yield x}
84
+ end
85
+
86
+ ##
87
+ # Retrieve a single page of SessionInstance records from the API.
88
+ # Request is executed immediately.
89
+ # @param [String] unique_name Provides a unique and addressable name to be
90
+ # assigned to this Session, assigned by the developer, to be optionally used in
91
+ # addition to SID.
92
+ # @param [session.Status] status The Status of this Session. One of `in-progress`,
93
+ # `closed`, `failed`, `unknown` or `completed`.
94
+ # @param [String] page_token PageToken provided by the API
95
+ # @param [Integer] page_number Page Number, this value is simply for client state
96
+ # @param [Integer] page_size Number of records to return, defaults to 50
97
+ # @return [Page] Page of SessionInstance
98
+ def page(unique_name: :unset, status: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
99
+ params = Twilio::Values.of({
100
+ 'UniqueName' => unique_name,
101
+ 'Status' => status,
102
+ 'PageToken' => page_token,
103
+ 'Page' => page_number,
104
+ 'PageSize' => page_size,
105
+ })
106
+ response = @version.page(
107
+ 'GET',
108
+ @uri,
109
+ params
110
+ )
111
+ SessionPage.new(@version, response, @solution)
112
+ end
113
+
114
+ ##
115
+ # Retrieve a single page of SessionInstance records from the API.
116
+ # Request is executed immediately.
117
+ # @param [String] target_url API-generated URL for the requested results page
118
+ # @return [Page] Page of SessionInstance
119
+ def get_page(target_url)
120
+ response = @version.domain.request(
121
+ 'GET',
122
+ target_url
123
+ )
124
+ SessionPage.new(@version, response, @solution)
125
+ end
126
+
127
+ ##
128
+ # Retrieve a single page of SessionInstance records from the API.
129
+ # Request is executed immediately.
130
+ # @param [String] unique_name Provides a unique and addressable name to be
131
+ # assigned to this Session, assigned by the developer, to be optionally used in
132
+ # addition to SID.
133
+ # @param [Time] date_expiry The date that this Session was expiry, given in ISO
134
+ # 8601 format.
135
+ # @param [String] ttl The Time to Live for a Session, in seconds.
136
+ # @param [session.Mode] mode The Mode of this Session. One of `message-only`,
137
+ # `voice-only` or `voice-and-message`.
138
+ # @param [session.Status] status The Status of this Session. One of `in-progress`,
139
+ # `closed`, `failed`, `unknown` or `completed`.
140
+ # @param [Hash] participants A list of phone numbers to add to this Session.
141
+ # @return [SessionInstance] Newly created SessionInstance
142
+ def create(unique_name: :unset, date_expiry: :unset, ttl: :unset, mode: :unset, status: :unset, participants: :unset)
143
+ data = Twilio::Values.of({
144
+ 'UniqueName' => unique_name,
145
+ 'DateExpiry' => Twilio.serialize_iso8601_datetime(date_expiry),
146
+ 'Ttl' => ttl,
147
+ 'Mode' => mode,
148
+ 'Status' => status,
149
+ 'Participants' => Twilio.serialize_list(participants) { |e| Twilio.serialize_object(e) },
150
+ })
151
+
152
+ payload = @version.create(
153
+ 'POST',
154
+ @uri,
155
+ data: data
156
+ )
157
+
158
+ SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], )
159
+ end
160
+
161
+ ##
162
+ # Provide a user friendly representation
163
+ def to_s
164
+ '#<Twilio.Proxy.V1.SessionList>'
165
+ end
166
+ end
167
+
168
+ ##
169
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
170
+ class SessionPage < Page
171
+ ##
172
+ # Initialize the SessionPage
173
+ # @param [Version] version Version that contains the resource
174
+ # @param [Response] response Response from the API
175
+ # @param [Hash] solution Path solution for the resource
176
+ # @return [SessionPage] SessionPage
177
+ def initialize(version, response, solution)
178
+ super(version, response)
179
+
180
+ # Path Solution
181
+ @solution = solution
182
+ end
183
+
184
+ ##
185
+ # Build an instance of SessionInstance
186
+ # @param [Hash] payload Payload response from the API
187
+ # @return [SessionInstance] SessionInstance
188
+ def get_instance(payload)
189
+ SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], )
190
+ end
191
+
192
+ ##
193
+ # Provide a user friendly representation
194
+ def to_s
195
+ '<Twilio.Proxy.V1.SessionPage>'
196
+ end
197
+ end
198
+
199
+ ##
200
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
201
+ class SessionContext < InstanceContext
202
+ ##
203
+ # Initialize the SessionContext
204
+ # @param [Version] version Version that contains the resource
205
+ # @param [String] service_sid The unique SID identifier of the Service.
206
+ # @param [String] sid A 34 character string that uniquely identifies this Session.
207
+ # @return [SessionContext] SessionContext
208
+ def initialize(version, service_sid, sid)
209
+ super(version)
210
+
211
+ # Path Solution
212
+ @solution = {service_sid: service_sid, sid: sid, }
213
+ @uri = "/Services/#{@solution[:service_sid]}/Sessions/#{@solution[:sid]}"
214
+
215
+ # Dependents
216
+ @interactions = nil
217
+ @participants = nil
218
+ end
219
+
220
+ ##
221
+ # Fetch a SessionInstance
222
+ # @return [SessionInstance] Fetched SessionInstance
223
+ def fetch
224
+ params = Twilio::Values.of({})
225
+
226
+ payload = @version.fetch(
227
+ 'GET',
228
+ @uri,
229
+ params,
230
+ )
231
+
232
+ SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
233
+ end
234
+
235
+ ##
236
+ # Deletes the SessionInstance
237
+ # @return [Boolean] true if delete succeeds, true otherwise
238
+ def delete
239
+ @version.delete('delete', @uri)
240
+ end
241
+
242
+ ##
243
+ # Update the SessionInstance
244
+ # @param [String] unique_name Provides a unique and addressable name to be
245
+ # assigned to this Session, assigned by the developer, to be optionally used in
246
+ # addition to SID.
247
+ # @param [Time] date_expiry The date that this Session was expiry, given in ISO
248
+ # 8601 format.
249
+ # @param [String] ttl The Time to Live for a Session, in seconds.
250
+ # @param [session.Mode] mode The Mode of this Session. One of `message-only`,
251
+ # `voice-only` or `voice-and-message`.
252
+ # @param [session.Status] status The Status of this Session. One of `in-progress`,
253
+ # `closed`, `failed`, `unknown` or `completed`.
254
+ # @param [Hash] participants A list of phone numbers to add to this Session.
255
+ # @return [SessionInstance] Updated SessionInstance
256
+ def update(unique_name: :unset, date_expiry: :unset, ttl: :unset, mode: :unset, status: :unset, participants: :unset)
257
+ data = Twilio::Values.of({
258
+ 'UniqueName' => unique_name,
259
+ 'DateExpiry' => Twilio.serialize_iso8601_datetime(date_expiry),
260
+ 'Ttl' => ttl,
261
+ 'Mode' => mode,
262
+ 'Status' => status,
263
+ 'Participants' => Twilio.serialize_list(participants) { |e| Twilio.serialize_object(e) },
264
+ })
265
+
266
+ payload = @version.update(
267
+ 'POST',
268
+ @uri,
269
+ data: data,
270
+ )
271
+
272
+ SessionInstance.new(@version, payload, service_sid: @solution[:service_sid], sid: @solution[:sid], )
273
+ end
274
+
275
+ ##
276
+ # Access the interactions
277
+ # @return [InteractionList]
278
+ # @return [InteractionContext] if sid was passed.
279
+ def interactions(sid=:unset)
280
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
281
+
282
+ if sid != :unset
283
+ return InteractionContext.new(@version, @solution[:service_sid], @solution[:sid], sid, )
284
+ end
285
+
286
+ unless @interactions
287
+ @interactions = InteractionList.new(
288
+ @version,
289
+ service_sid: @solution[:service_sid],
290
+ session_sid: @solution[:sid],
291
+ )
292
+ end
293
+
294
+ @interactions
295
+ end
296
+
297
+ ##
298
+ # Access the participants
299
+ # @return [ParticipantList]
300
+ # @return [ParticipantContext] if sid was passed.
301
+ def participants(sid=:unset)
302
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
303
+
304
+ if sid != :unset
305
+ return ParticipantContext.new(@version, @solution[:service_sid], @solution[:sid], sid, )
306
+ end
307
+
308
+ unless @participants
309
+ @participants = ParticipantList.new(
310
+ @version,
311
+ service_sid: @solution[:service_sid],
312
+ session_sid: @solution[:sid],
313
+ )
314
+ end
315
+
316
+ @participants
317
+ end
318
+
319
+ ##
320
+ # Provide a user friendly representation
321
+ def to_s
322
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
323
+ "#<Twilio.Proxy.V1.SessionContext #{context}>"
324
+ end
325
+ end
326
+
327
+ ##
328
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
329
+ class SessionInstance < InstanceResource
330
+ ##
331
+ # Initialize the SessionInstance
332
+ # @param [Version] version Version that contains the resource
333
+ # @param [Hash] payload payload that contains response from Twilio
334
+ # @param [String] service_sid The unique SID identifier of the Service.
335
+ # @param [String] sid A 34 character string that uniquely identifies this Session.
336
+ # @return [SessionInstance] SessionInstance
337
+ def initialize(version, payload, service_sid: nil, sid: nil)
338
+ super(version)
339
+
340
+ # Marshaled Properties
341
+ @properties = {
342
+ 'sid' => payload['sid'],
343
+ 'service_sid' => payload['service_sid'],
344
+ 'account_sid' => payload['account_sid'],
345
+ 'date_started' => Twilio.deserialize_iso8601_datetime(payload['date_started']),
346
+ 'date_ended' => Twilio.deserialize_iso8601_datetime(payload['date_ended']),
347
+ 'date_last_interaction' => Twilio.deserialize_iso8601_datetime(payload['date_last_interaction']),
348
+ 'date_expiry' => Twilio.deserialize_iso8601_datetime(payload['date_expiry']),
349
+ 'unique_name' => payload['unique_name'],
350
+ 'status' => payload['status'],
351
+ 'closed_reason' => payload['closed_reason'],
352
+ 'ttl' => payload['ttl'].to_i,
353
+ 'mode' => payload['mode'],
354
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
355
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
356
+ 'url' => payload['url'],
357
+ 'links' => payload['links'],
358
+ }
359
+
360
+ # Context
361
+ @instance_context = nil
362
+ @params = {'service_sid' => service_sid, 'sid' => sid || @properties['sid'], }
363
+ end
364
+
365
+ ##
366
+ # Generate an instance context for the instance, the context is capable of
367
+ # performing various actions. All instance actions are proxied to the context
368
+ # @return [SessionContext] SessionContext for this SessionInstance
369
+ def context
370
+ unless @instance_context
371
+ @instance_context = SessionContext.new(@version, @params['service_sid'], @params['sid'], )
372
+ end
373
+ @instance_context
374
+ end
375
+
376
+ ##
377
+ # @return [String] A string that uniquely identifies this Session.
378
+ def sid
379
+ @properties['sid']
380
+ end
381
+
382
+ ##
383
+ # @return [String] Service Sid.
384
+ def service_sid
385
+ @properties['service_sid']
386
+ end
387
+
388
+ ##
389
+ # @return [String] Account Sid.
390
+ def account_sid
391
+ @properties['account_sid']
392
+ end
393
+
394
+ ##
395
+ # @return [Time] The date this Session was started
396
+ def date_started
397
+ @properties['date_started']
398
+ end
399
+
400
+ ##
401
+ # @return [Time] The date this Session was ended
402
+ def date_ended
403
+ @properties['date_ended']
404
+ end
405
+
406
+ ##
407
+ # @return [Time] The date this Session was interaction
408
+ def date_last_interaction
409
+ @properties['date_last_interaction']
410
+ end
411
+
412
+ ##
413
+ # @return [Time] The date this Session was expiry
414
+ def date_expiry
415
+ @properties['date_expiry']
416
+ end
417
+
418
+ ##
419
+ # @return [String] A unique, developer assigned name of this Session.
420
+ def unique_name
421
+ @properties['unique_name']
422
+ end
423
+
424
+ ##
425
+ # @return [session.Status] The Status of this Session
426
+ def status
427
+ @properties['status']
428
+ end
429
+
430
+ ##
431
+ # @return [String] Reason Session ended.
432
+ def closed_reason
433
+ @properties['closed_reason']
434
+ end
435
+
436
+ ##
437
+ # @return [String] TTL for a Session, in seconds.
438
+ def ttl
439
+ @properties['ttl']
440
+ end
441
+
442
+ ##
443
+ # @return [session.Mode] The Mode of this Session
444
+ def mode
445
+ @properties['mode']
446
+ end
447
+
448
+ ##
449
+ # @return [Time] The date this Session was created
450
+ def date_created
451
+ @properties['date_created']
452
+ end
453
+
454
+ ##
455
+ # @return [Time] The date this Session was updated
456
+ def date_updated
457
+ @properties['date_updated']
458
+ end
459
+
460
+ ##
461
+ # @return [String] The URL of this resource.
462
+ def url
463
+ @properties['url']
464
+ end
465
+
466
+ ##
467
+ # @return [String] Nested resource URLs.
468
+ def links
469
+ @properties['links']
470
+ end
471
+
472
+ ##
473
+ # Fetch a SessionInstance
474
+ # @return [SessionInstance] Fetched SessionInstance
475
+ def fetch
476
+ context.fetch
477
+ end
478
+
479
+ ##
480
+ # Deletes the SessionInstance
481
+ # @return [Boolean] true if delete succeeds, true otherwise
482
+ def delete
483
+ context.delete
484
+ end
485
+
486
+ ##
487
+ # Update the SessionInstance
488
+ # @param [String] unique_name Provides a unique and addressable name to be
489
+ # assigned to this Session, assigned by the developer, to be optionally used in
490
+ # addition to SID.
491
+ # @param [Time] date_expiry The date that this Session was expiry, given in ISO
492
+ # 8601 format.
493
+ # @param [String] ttl The Time to Live for a Session, in seconds.
494
+ # @param [session.Mode] mode The Mode of this Session. One of `message-only`,
495
+ # `voice-only` or `voice-and-message`.
496
+ # @param [session.Status] status The Status of this Session. One of `in-progress`,
497
+ # `closed`, `failed`, `unknown` or `completed`.
498
+ # @param [Hash] participants A list of phone numbers to add to this Session.
499
+ # @return [SessionInstance] Updated SessionInstance
500
+ def update(unique_name: :unset, date_expiry: :unset, ttl: :unset, mode: :unset, status: :unset, participants: :unset)
501
+ context.update(
502
+ unique_name: unique_name,
503
+ date_expiry: date_expiry,
504
+ ttl: ttl,
505
+ mode: mode,
506
+ status: status,
507
+ participants: participants,
508
+ )
509
+ end
510
+
511
+ ##
512
+ # Access the interactions
513
+ # @return [interactions] interactions
514
+ def interactions
515
+ context.interactions
516
+ end
517
+
518
+ ##
519
+ # Access the participants
520
+ # @return [participants] participants
521
+ def participants
522
+ context.participants
523
+ end
524
+
525
+ ##
526
+ # Provide a user friendly representation
527
+ def to_s
528
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
529
+ "<Twilio.Proxy.V1.SessionInstance #{values}>"
530
+ end
531
+
532
+ ##
533
+ # Provide a detailed, user friendly representation
534
+ def inspect
535
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
536
+ "<Twilio.Proxy.V1.SessionInstance #{values}>"
537
+ end
538
+ end
539
+ end
540
+ end
541
+ end
542
+ end
543
+ end