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,147 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ module Twilio
8
+ module REST
9
+ class Api < Domain
10
+ class V2010 < Version
11
+ class AccountContext < InstanceContext
12
+ class NewSigningKeyList < ListResource
13
+ ##
14
+ # Initialize the NewSigningKeyList
15
+ # @param [Version] version Version that contains the resource
16
+ # @param [String] account_sid A 34 character string that uniquely identifies this
17
+ # resource.
18
+ # @return [NewSigningKeyList] NewSigningKeyList
19
+ def initialize(version, account_sid: nil)
20
+ super(version)
21
+
22
+ # Path Solution
23
+ @solution = {account_sid: account_sid}
24
+ @uri = "/Accounts/#{@solution[:account_sid]}/SigningKeys.json"
25
+ end
26
+
27
+ ##
28
+ # Retrieve a single page of NewSigningKeyInstance records from the API.
29
+ # Request is executed immediately.
30
+ # @param [String] friendly_name The friendly_name
31
+ # @return [NewSigningKeyInstance] Newly created NewSigningKeyInstance
32
+ def create(friendly_name: :unset)
33
+ data = Twilio::Values.of({'FriendlyName' => friendly_name, })
34
+
35
+ payload = @version.create(
36
+ 'POST',
37
+ @uri,
38
+ data: data
39
+ )
40
+
41
+ NewSigningKeyInstance.new(@version, payload, account_sid: @solution[:account_sid], )
42
+ end
43
+
44
+ ##
45
+ # Provide a user friendly representation
46
+ def to_s
47
+ '#<Twilio.Api.V2010.NewSigningKeyList>'
48
+ end
49
+ end
50
+
51
+ class NewSigningKeyPage < Page
52
+ ##
53
+ # Initialize the NewSigningKeyPage
54
+ # @param [Version] version Version that contains the resource
55
+ # @param [Response] response Response from the API
56
+ # @param [Hash] solution Path solution for the resource
57
+ # @return [NewSigningKeyPage] NewSigningKeyPage
58
+ def initialize(version, response, solution)
59
+ super(version, response)
60
+
61
+ # Path Solution
62
+ @solution = solution
63
+ end
64
+
65
+ ##
66
+ # Build an instance of NewSigningKeyInstance
67
+ # @param [Hash] payload Payload response from the API
68
+ # @return [NewSigningKeyInstance] NewSigningKeyInstance
69
+ def get_instance(payload)
70
+ NewSigningKeyInstance.new(@version, payload, account_sid: @solution[:account_sid], )
71
+ end
72
+
73
+ ##
74
+ # Provide a user friendly representation
75
+ def to_s
76
+ '<Twilio.Api.V2010.NewSigningKeyPage>'
77
+ end
78
+ end
79
+
80
+ class NewSigningKeyInstance < InstanceResource
81
+ ##
82
+ # Initialize the NewSigningKeyInstance
83
+ # @param [Version] version Version that contains the resource
84
+ # @param [Hash] payload payload that contains response from Twilio
85
+ # @param [String] account_sid A 34 character string that uniquely identifies this
86
+ # resource.
87
+ # @return [NewSigningKeyInstance] NewSigningKeyInstance
88
+ def initialize(version, payload, account_sid: nil)
89
+ super(version)
90
+
91
+ # Marshaled Properties
92
+ @properties = {
93
+ 'sid' => payload['sid'],
94
+ 'friendly_name' => payload['friendly_name'],
95
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
96
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
97
+ 'secret' => payload['secret'],
98
+ }
99
+ end
100
+
101
+ ##
102
+ # @return [String] The sid
103
+ def sid
104
+ @properties['sid']
105
+ end
106
+
107
+ ##
108
+ # @return [String] The friendly_name
109
+ def friendly_name
110
+ @properties['friendly_name']
111
+ end
112
+
113
+ ##
114
+ # @return [Time] The date_created
115
+ def date_created
116
+ @properties['date_created']
117
+ end
118
+
119
+ ##
120
+ # @return [Time] The date_updated
121
+ def date_updated
122
+ @properties['date_updated']
123
+ end
124
+
125
+ ##
126
+ # @return [String] The secret
127
+ def secret
128
+ @properties['secret']
129
+ end
130
+
131
+ ##
132
+ # Provide a user friendly representation
133
+ def to_s
134
+ "<Twilio.Api.V2010.NewSigningKeyInstance>"
135
+ end
136
+
137
+ ##
138
+ # Provide a detailed, user friendly representation
139
+ def inspect
140
+ "<Twilio.Api.V2010.NewSigningKeyInstance>"
141
+ end
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
147
+ end
@@ -0,0 +1,407 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ module Twilio
8
+ module REST
9
+ class Api < Domain
10
+ class V2010 < Version
11
+ class AccountContext < InstanceContext
12
+ class NotificationList < ListResource
13
+ ##
14
+ # Initialize the NotificationList
15
+ # @param [Version] version Version that contains the resource
16
+ # @param [String] account_sid The unique id of the Account responsible for this
17
+ # notification.
18
+ # @return [NotificationList] NotificationList
19
+ def initialize(version, account_sid: nil)
20
+ super(version)
21
+
22
+ # Path Solution
23
+ @solution = {account_sid: account_sid}
24
+ @uri = "/Accounts/#{@solution[:account_sid]}/Notifications.json"
25
+ end
26
+
27
+ ##
28
+ # Lists NotificationInstance records from the API as a list.
29
+ # Unlike stream(), this operation is eager and will load `limit` records into
30
+ # memory before returning.
31
+ # @param [String] log Only show notifications for this log level
32
+ # @param [Time] message_date_before Filter by date
33
+ # @param [Time] message_date Filter by date
34
+ # @param [Time] message_date_after Filter by date
35
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
36
+ # guarantees to never return more than limit. Default is no limit
37
+ # @param [Integer] page_size Number of records to fetch per request, when
38
+ # not set will use the default value of 50 records. If no page_size is defined
39
+ # but a limit is defined, stream() will attempt to read the limit with the most
40
+ # efficient page size, i.e. min(limit, 1000)
41
+ # @return [Array] Array of up to limit results
42
+ def list(log: :unset, message_date_before: :unset, message_date: :unset, message_date_after: :unset, limit: nil, page_size: nil)
43
+ self.stream(
44
+ log: log,
45
+ message_date_before: message_date_before,
46
+ message_date: message_date,
47
+ message_date_after: message_date_after,
48
+ limit: limit,
49
+ page_size: page_size
50
+ ).entries
51
+ end
52
+
53
+ ##
54
+ # Streams NotificationInstance records from the API as an Enumerable.
55
+ # This operation lazily loads records as efficiently as possible until the limit
56
+ # is reached.
57
+ # @param [String] log Only show notifications for this log level
58
+ # @param [Time] message_date_before Filter by date
59
+ # @param [Time] message_date Filter by date
60
+ # @param [Time] message_date_after Filter by date
61
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
62
+ # guarantees to never return more than limit. Default is no limit.
63
+ # @param [Integer] page_size Number of records to fetch per request, when
64
+ # not set will use the default value of 50 records. If no page_size is defined
65
+ # but a limit is defined, stream() will attempt to read the limit with the most
66
+ # efficient page size, i.e. min(limit, 1000)
67
+ # @return [Enumerable] Enumerable that will yield up to limit results
68
+ def stream(log: :unset, message_date_before: :unset, message_date: :unset, message_date_after: :unset, limit: nil, page_size: nil)
69
+ limits = @version.read_limits(limit, page_size)
70
+
71
+ page = self.page(
72
+ log: log,
73
+ message_date_before: message_date_before,
74
+ message_date: message_date,
75
+ message_date_after: message_date_after,
76
+ page_size: limits[:page_size],
77
+ )
78
+
79
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
80
+ end
81
+
82
+ ##
83
+ # When passed a block, yields NotificationInstance records from the API.
84
+ # This operation lazily loads records as efficiently as possible until the limit
85
+ # is reached.
86
+ def each
87
+ limits = @version.read_limits
88
+
89
+ page = self.page(page_size: limits[:page_size], )
90
+
91
+ @version.stream(page,
92
+ limit: limits[:limit],
93
+ page_limit: limits[:page_limit]).each {|x| yield x}
94
+ end
95
+
96
+ ##
97
+ # Retrieve a single page of NotificationInstance records from the API.
98
+ # Request is executed immediately.
99
+ # @param [String] log Only show notifications for this log level
100
+ # @param [Time] message_date_before Filter by date
101
+ # @param [Time] message_date Filter by date
102
+ # @param [Time] message_date_after Filter by date
103
+ # @param [String] page_token PageToken provided by the API
104
+ # @param [Integer] page_number Page Number, this value is simply for client state
105
+ # @param [Integer] page_size Number of records to return, defaults to 50
106
+ # @return [Page] Page of NotificationInstance
107
+ def page(log: :unset, message_date_before: :unset, message_date: :unset, message_date_after: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
108
+ params = Twilio::Values.of({
109
+ 'Log' => log,
110
+ 'MessageDate<' => Twilio.serialize_iso8601_date(message_date_before),
111
+ 'MessageDate' => Twilio.serialize_iso8601_date(message_date),
112
+ 'MessageDate>' => Twilio.serialize_iso8601_date(message_date_after),
113
+ 'PageToken' => page_token,
114
+ 'Page' => page_number,
115
+ 'PageSize' => page_size,
116
+ })
117
+ response = @version.page(
118
+ 'GET',
119
+ @uri,
120
+ params
121
+ )
122
+ NotificationPage.new(@version, response, @solution)
123
+ end
124
+
125
+ ##
126
+ # Retrieve a single page of NotificationInstance records from the API.
127
+ # Request is executed immediately.
128
+ # @param [String] target_url API-generated URL for the requested results page
129
+ # @return [Page] Page of NotificationInstance
130
+ def get_page(target_url)
131
+ response = @version.domain.request(
132
+ 'GET',
133
+ target_url
134
+ )
135
+ NotificationPage.new(@version, response, @solution)
136
+ end
137
+
138
+ ##
139
+ # Provide a user friendly representation
140
+ def to_s
141
+ '#<Twilio.Api.V2010.NotificationList>'
142
+ end
143
+ end
144
+
145
+ class NotificationPage < Page
146
+ ##
147
+ # Initialize the NotificationPage
148
+ # @param [Version] version Version that contains the resource
149
+ # @param [Response] response Response from the API
150
+ # @param [Hash] solution Path solution for the resource
151
+ # @return [NotificationPage] NotificationPage
152
+ def initialize(version, response, solution)
153
+ super(version, response)
154
+
155
+ # Path Solution
156
+ @solution = solution
157
+ end
158
+
159
+ ##
160
+ # Build an instance of NotificationInstance
161
+ # @param [Hash] payload Payload response from the API
162
+ # @return [NotificationInstance] NotificationInstance
163
+ def get_instance(payload)
164
+ NotificationInstance.new(@version, payload, account_sid: @solution[:account_sid], )
165
+ end
166
+
167
+ ##
168
+ # Provide a user friendly representation
169
+ def to_s
170
+ '<Twilio.Api.V2010.NotificationPage>'
171
+ end
172
+ end
173
+
174
+ class NotificationContext < InstanceContext
175
+ ##
176
+ # Initialize the NotificationContext
177
+ # @param [Version] version Version that contains the resource
178
+ # @param [String] account_sid The account_sid
179
+ # @param [String] sid The notification Sid that uniquely identifies this resource
180
+ # @return [NotificationContext] NotificationContext
181
+ def initialize(version, account_sid, sid)
182
+ super(version)
183
+
184
+ # Path Solution
185
+ @solution = {account_sid: account_sid, sid: sid, }
186
+ @uri = "/Accounts/#{@solution[:account_sid]}/Notifications/#{@solution[:sid]}.json"
187
+ end
188
+
189
+ ##
190
+ # Fetch a NotificationInstance
191
+ # @return [NotificationInstance] Fetched NotificationInstance
192
+ def fetch
193
+ params = Twilio::Values.of({})
194
+
195
+ payload = @version.fetch(
196
+ 'GET',
197
+ @uri,
198
+ params,
199
+ )
200
+
201
+ NotificationInstance.new(
202
+ @version,
203
+ payload,
204
+ account_sid: @solution[:account_sid],
205
+ sid: @solution[:sid],
206
+ )
207
+ end
208
+
209
+ ##
210
+ # Deletes the NotificationInstance
211
+ # @return [Boolean] true if delete succeeds, true otherwise
212
+ def delete
213
+ @version.delete('delete', @uri)
214
+ end
215
+
216
+ ##
217
+ # Provide a user friendly representation
218
+ def to_s
219
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
220
+ "#<Twilio.Api.V2010.NotificationContext #{context}>"
221
+ end
222
+ end
223
+
224
+ class NotificationInstance < InstanceResource
225
+ ##
226
+ # Initialize the NotificationInstance
227
+ # @param [Version] version Version that contains the resource
228
+ # @param [Hash] payload payload that contains response from Twilio
229
+ # @param [String] account_sid The unique id of the Account responsible for this
230
+ # notification.
231
+ # @param [String] sid The notification Sid that uniquely identifies this resource
232
+ # @return [NotificationInstance] NotificationInstance
233
+ def initialize(version, payload, account_sid: nil, sid: nil)
234
+ super(version)
235
+
236
+ # Marshaled Properties
237
+ @properties = {
238
+ 'account_sid' => payload['account_sid'],
239
+ 'api_version' => payload['api_version'],
240
+ 'call_sid' => payload['call_sid'],
241
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
242
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
243
+ 'error_code' => payload['error_code'],
244
+ 'log' => payload['log'],
245
+ 'message_date' => Twilio.deserialize_rfc2822(payload['message_date']),
246
+ 'message_text' => payload['message_text'],
247
+ 'more_info' => payload['more_info'],
248
+ 'request_method' => payload['request_method'],
249
+ 'request_url' => payload['request_url'],
250
+ 'sid' => payload['sid'],
251
+ 'uri' => payload['uri'],
252
+ 'request_variables' => payload['request_variables'],
253
+ 'response_body' => payload['response_body'],
254
+ 'response_headers' => payload['response_headers'],
255
+ }
256
+
257
+ # Context
258
+ @instance_context = nil
259
+ @params = {'account_sid' => account_sid, 'sid' => sid || @properties['sid'], }
260
+ end
261
+
262
+ ##
263
+ # Generate an instance context for the instance, the context is capable of
264
+ # performing various actions. All instance actions are proxied to the context
265
+ # @return [NotificationContext] NotificationContext for this NotificationInstance
266
+ def context
267
+ unless @instance_context
268
+ @instance_context = NotificationContext.new(@version, @params['account_sid'], @params['sid'], )
269
+ end
270
+ @instance_context
271
+ end
272
+
273
+ ##
274
+ # @return [String] The unique sid that identifies this account
275
+ def account_sid
276
+ @properties['account_sid']
277
+ end
278
+
279
+ ##
280
+ # @return [String] The version of the Twilio API in use
281
+ def api_version
282
+ @properties['api_version']
283
+ end
284
+
285
+ ##
286
+ # @return [String] The string that uniquely identifies the call
287
+ def call_sid
288
+ @properties['call_sid']
289
+ end
290
+
291
+ ##
292
+ # @return [Time] The date this resource was created
293
+ def date_created
294
+ @properties['date_created']
295
+ end
296
+
297
+ ##
298
+ # @return [Time] The date this resource was last updated
299
+ def date_updated
300
+ @properties['date_updated']
301
+ end
302
+
303
+ ##
304
+ # @return [String] A unique error code corresponding to the notification
305
+ def error_code
306
+ @properties['error_code']
307
+ end
308
+
309
+ ##
310
+ # @return [String] An integer log level
311
+ def log
312
+ @properties['log']
313
+ end
314
+
315
+ ##
316
+ # @return [Time] The date the notification was generated
317
+ def message_date
318
+ @properties['message_date']
319
+ end
320
+
321
+ ##
322
+ # @return [String] The text of the notification.
323
+ def message_text
324
+ @properties['message_text']
325
+ end
326
+
327
+ ##
328
+ # @return [String] A URL for more information about the error code
329
+ def more_info
330
+ @properties['more_info']
331
+ end
332
+
333
+ ##
334
+ # @return [String] HTTP method used with the request url
335
+ def request_method
336
+ @properties['request_method']
337
+ end
338
+
339
+ ##
340
+ # @return [String] URL of the resource that generated the notification
341
+ def request_url
342
+ @properties['request_url']
343
+ end
344
+
345
+ ##
346
+ # @return [String] Twilio-generated HTTP variables sent to the server
347
+ def request_variables
348
+ @properties['request_variables']
349
+ end
350
+
351
+ ##
352
+ # @return [String] The HTTP body returned by your server.
353
+ def response_body
354
+ @properties['response_body']
355
+ end
356
+
357
+ ##
358
+ # @return [String] The HTTP headers returned by your server.
359
+ def response_headers
360
+ @properties['response_headers']
361
+ end
362
+
363
+ ##
364
+ # @return [String] A string that uniquely identifies this notification
365
+ def sid
366
+ @properties['sid']
367
+ end
368
+
369
+ ##
370
+ # @return [String] The URI for this resource
371
+ def uri
372
+ @properties['uri']
373
+ end
374
+
375
+ ##
376
+ # Fetch a NotificationInstance
377
+ # @return [NotificationInstance] Fetched NotificationInstance
378
+ def fetch
379
+ context.fetch
380
+ end
381
+
382
+ ##
383
+ # Deletes the NotificationInstance
384
+ # @return [Boolean] true if delete succeeds, true otherwise
385
+ def delete
386
+ context.delete
387
+ end
388
+
389
+ ##
390
+ # Provide a user friendly representation
391
+ def to_s
392
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
393
+ "<Twilio.Api.V2010.NotificationInstance #{values}>"
394
+ end
395
+
396
+ ##
397
+ # Provide a detailed, user friendly representation
398
+ def inspect
399
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
400
+ "<Twilio.Api.V2010.NotificationInstance #{values}>"
401
+ end
402
+ end
403
+ end
404
+ end
405
+ end
406
+ end
407
+ end