twilio-ruby 4.13.0 → 5.0.0.alpha1

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 (643) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +21 -0
  3. data/.rubocop_todo.yml +187 -0
  4. data/.travis.yml +13 -0
  5. data/AUTHORS.md +46 -32
  6. data/CHANGES.md +87 -65
  7. data/Gemfile +2 -2
  8. data/LICENSE.md +12 -12
  9. data/Makefile +13 -3
  10. data/README.md +50 -139
  11. data/Rakefile +54 -0
  12. data/VERSIONS.md +64 -0
  13. data/examples/examples.rb +46 -57
  14. data/examples/{print-call-log.rb → print_call_log.rb} +7 -7
  15. data/lib/rack/twilio_webhook_authentication.rb +5 -6
  16. data/lib/twilio-ruby.rb +30 -102
  17. data/lib/twilio-ruby/framework/domain.rb +34 -0
  18. data/lib/twilio-ruby/framework/error.rb +30 -0
  19. data/lib/twilio-ruby/framework/helper.rb +9 -0
  20. data/lib/twilio-ruby/framework/page.rb +101 -0
  21. data/lib/twilio-ruby/framework/resource.rb +21 -0
  22. data/lib/twilio-ruby/framework/serialize.rb +70 -0
  23. data/lib/twilio-ruby/framework/twilio_response.rb +15 -0
  24. data/lib/twilio-ruby/framework/values.rb +7 -0
  25. data/lib/twilio-ruby/framework/version.rb +164 -0
  26. data/lib/twilio-ruby/http/http_client.rb +46 -0
  27. data/lib/twilio-ruby/jwt/access_token.rb +232 -0
  28. data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
  29. data/lib/twilio-ruby/jwt/jwt.rb +50 -0
  30. data/lib/twilio-ruby/jwt/task_router.rb +174 -0
  31. data/lib/twilio-ruby/rest/accounts.rb +36 -10
  32. data/lib/twilio-ruby/rest/accounts/v1.rb +39 -0
  33. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +105 -0
  34. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +370 -0
  35. data/lib/twilio-ruby/rest/api.rb +234 -0
  36. data/lib/twilio-ruby/rest/api/v2010.rb +147 -0
  37. data/lib/twilio-ruby/rest/api/v2010/account.rb +1098 -0
  38. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +509 -0
  39. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +265 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +620 -0
  41. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +331 -0
  42. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +370 -0
  43. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +389 -0
  44. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +389 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +389 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +799 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +296 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +427 -0
  50. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +379 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +455 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +515 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +413 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +823 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +431 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +350 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +445 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +445 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +445 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +583 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +165 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +355 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +153 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +153 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +418 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +377 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +438 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +345 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +479 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +397 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +378 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +375 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +430 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +174 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +419 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +395 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +570 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +361 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +361 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +424 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +406 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +168 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +366 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +127 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +418 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +304 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +304 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +304 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +304 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +304 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +304 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +304 -0
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +304 -0
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +507 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +161 -0
  98. data/lib/twilio-ruby/rest/chat.rb +59 -0
  99. data/lib/twilio-ruby/rest/chat/v1.rb +56 -0
  100. data/lib/twilio-ruby/rest/chat/v1/credential.rb +403 -0
  101. data/lib/twilio-ruby/rest/chat/v1/service.rb +935 -0
  102. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +554 -0
  103. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +386 -0
  104. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +431 -0
  105. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +447 -0
  106. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +396 -0
  107. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +467 -0
  108. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +244 -0
  109. data/lib/twilio-ruby/rest/chat/v2.rb +56 -0
  110. data/lib/twilio-ruby/rest/chat/v2/credential.rb +403 -0
  111. data/lib/twilio-ruby/rest/chat/v2/service.rb +688 -0
  112. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +554 -0
  113. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +386 -0
  114. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +431 -0
  115. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +447 -0
  116. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +396 -0
  117. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +467 -0
  118. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +244 -0
  119. data/lib/twilio-ruby/rest/client.rb +352 -153
  120. data/lib/twilio-ruby/rest/fax.rb +44 -0
  121. data/lib/twilio-ruby/rest/fax/v1.rb +41 -0
  122. data/lib/twilio-ruby/rest/fax/v1/fax.rb +541 -0
  123. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +326 -0
  124. data/lib/twilio-ruby/rest/ip_messaging.rb +59 -0
  125. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +56 -0
  126. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +403 -0
  127. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +935 -0
  128. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +554 -0
  129. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +386 -0
  130. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +431 -0
  131. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +447 -0
  132. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +396 -0
  133. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +467 -0
  134. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +244 -0
  135. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +56 -0
  136. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +403 -0
  137. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +688 -0
  138. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +554 -0
  139. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +386 -0
  140. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +431 -0
  141. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +447 -0
  142. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +396 -0
  143. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +467 -0
  144. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +244 -0
  145. data/lib/twilio-ruby/rest/lookups.rb +44 -0
  146. data/lib/twilio-ruby/rest/lookups/v1.rb +41 -0
  147. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +224 -0
  148. data/lib/twilio-ruby/rest/messaging.rb +44 -0
  149. data/lib/twilio-ruby/rest/messaging/v1.rb +41 -0
  150. data/lib/twilio-ruby/rest/messaging/v1/service.rb +637 -0
  151. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -0
  152. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -0
  153. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -0
  154. data/lib/twilio-ruby/rest/monitor.rb +52 -0
  155. data/lib/twilio-ruby/rest/monitor/v1.rb +56 -0
  156. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +398 -0
  157. data/lib/twilio-ruby/rest/monitor/v1/event.rb +381 -0
  158. data/lib/twilio-ruby/rest/notify.rb +52 -0
  159. data/lib/twilio-ruby/rest/notify/v1.rb +56 -0
  160. data/lib/twilio-ruby/rest/notify/v1/credential.rb +403 -0
  161. data/lib/twilio-ruby/rest/notify/v1/service.rb +639 -0
  162. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +430 -0
  163. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +288 -0
  164. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +224 -0
  165. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +445 -0
  166. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +254 -0
  167. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +434 -0
  168. data/lib/twilio-ruby/rest/preview.rb +145 -0
  169. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +56 -0
  170. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +203 -0
  171. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +210 -0
  172. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +243 -0
  173. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +42 -0
  174. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +557 -0
  175. data/lib/twilio-ruby/rest/preview/marketplace.rb +58 -0
  176. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +333 -0
  177. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +301 -0
  178. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +440 -0
  179. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +341 -0
  180. data/lib/twilio-ruby/rest/preview/proxy.rb +41 -0
  181. data/lib/twilio-ruby/rest/preview/proxy/service.rb +500 -0
  182. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +359 -0
  183. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +536 -0
  184. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +429 -0
  185. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +506 -0
  186. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +452 -0
  187. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +359 -0
  188. data/lib/twilio-ruby/rest/preview/sync.rb +41 -0
  189. data/lib/twilio-ruby/rest/preview/sync/service.rb +504 -0
  190. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +445 -0
  191. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +395 -0
  192. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +438 -0
  193. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +430 -0
  194. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +395 -0
  195. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +438 -0
  196. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +432 -0
  197. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +395 -0
  198. data/lib/twilio-ruby/rest/preview/wireless.rb +71 -0
  199. data/lib/twilio-ruby/rest/preview/wireless/command.rb +382 -0
  200. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +435 -0
  201. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +544 -0
  202. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +236 -0
  203. data/lib/twilio-ruby/rest/pricing.rb +50 -2
  204. data/lib/twilio-ruby/rest/pricing/v1.rb +65 -0
  205. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +129 -0
  206. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +291 -0
  207. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +129 -0
  208. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +284 -0
  209. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +150 -0
  210. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +291 -0
  211. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +208 -0
  212. data/lib/twilio-ruby/rest/sync.rb +44 -0
  213. data/lib/twilio-ruby/rest/sync/v1.rb +41 -0
  214. data/lib/twilio-ruby/rest/sync/v1/service.rb +504 -0
  215. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +445 -0
  216. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +395 -0
  217. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +438 -0
  218. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +430 -0
  219. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +395 -0
  220. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +438 -0
  221. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +432 -0
  222. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +395 -0
  223. data/lib/twilio-ruby/rest/taskrouter.rb +44 -0
  224. data/lib/twilio-ruby/rest/taskrouter/v1.rb +41 -0
  225. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +712 -0
  226. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +399 -0
  227. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +418 -0
  228. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +584 -0
  229. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +461 -0
  230. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +315 -0
  231. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +527 -0
  232. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -0
  233. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +243 -0
  234. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +585 -0
  235. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +461 -0
  236. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +406 -0
  237. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +223 -0
  238. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +226 -0
  239. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +475 -0
  240. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -0
  241. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +212 -0
  242. data/lib/twilio-ruby/rest/trunking.rb +44 -0
  243. data/lib/twilio-ruby/rest/trunking/v1.rb +41 -0
  244. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +577 -0
  245. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +345 -0
  246. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +345 -0
  247. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +430 -0
  248. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +478 -0
  249. data/lib/twilio-ruby/rest/video.rb +52 -0
  250. data/lib/twilio-ruby/rest/video/v1.rb +56 -0
  251. data/lib/twilio-ruby/rest/video/v1/recording.rb +382 -0
  252. data/lib/twilio-ruby/rest/video/v1/room.rb +485 -0
  253. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +381 -0
  254. data/lib/twilio-ruby/rest/wireless.rb +60 -0
  255. data/lib/twilio-ruby/rest/wireless/v1.rb +71 -0
  256. data/lib/twilio-ruby/rest/wireless/v1/command.rb +367 -0
  257. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +452 -0
  258. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +548 -0
  259. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +235 -0
  260. data/lib/twilio-ruby/{util → security}/request_validator.rb +21 -4
  261. data/lib/twilio-ruby/twiml/messaging_response.rb +141 -0
  262. data/lib/twilio-ruby/twiml/twiml.rb +69 -0
  263. data/lib/twilio-ruby/twiml/voice_response.rb +916 -0
  264. data/lib/twilio-ruby/util.rb +1 -1
  265. data/lib/twilio-ruby/version.rb +1 -1
  266. data/spec/framework/serialize_spec.rb +59 -0
  267. data/spec/holodeck/holodeck.rb +61 -0
  268. data/spec/holodeck/hologram.rb +4 -0
  269. data/spec/integration/accounts/v1/credential/public_key_spec.rb +226 -0
  270. data/spec/integration/accounts/v1/credential_spec.rb +10 -0
  271. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +90 -0
  272. data/spec/integration/api/v2010/account/address_spec.rb +267 -0
  273. data/spec/integration/api/v2010/account/application_spec.rb +286 -0
  274. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +137 -0
  275. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +101 -0
  276. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +100 -0
  277. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +100 -0
  278. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +128 -0
  279. data/spec/integration/api/v2010/account/call/feedback_spec.rb +141 -0
  280. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +149 -0
  281. data/spec/integration/api/v2010/account/call/notification_spec.rb +179 -0
  282. data/spec/integration/api/v2010/account/call/recording_spec.rb +178 -0
  283. data/spec/integration/api/v2010/account/call_spec.rb +319 -0
  284. data/spec/integration/api/v2010/account/conference/participant_spec.rb +283 -0
  285. data/spec/integration/api/v2010/account/conference_spec.rb +174 -0
  286. data/spec/integration/api/v2010/account/connect_app_spec.rb +177 -0
  287. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +135 -0
  288. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +223 -0
  289. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +181 -0
  290. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +181 -0
  291. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +181 -0
  292. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +331 -0
  293. data/spec/integration/api/v2010/account/key_spec.rb +178 -0
  294. data/spec/integration/api/v2010/account/message/feedback_spec.rb +48 -0
  295. data/spec/integration/api/v2010/account/message/media_spec.rb +162 -0
  296. data/spec/integration/api/v2010/account/message_spec.rb +297 -0
  297. data/spec/integration/api/v2010/account/new_key_spec.rb +45 -0
  298. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +45 -0
  299. data/spec/integration/api/v2010/account/notification_spec.rb +172 -0
  300. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +193 -0
  301. data/spec/integration/api/v2010/account/queue/member_spec.rb +170 -0
  302. data/spec/integration/api/v2010/account/queue_spec.rb +242 -0
  303. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +175 -0
  304. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +166 -0
  305. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +174 -0
  306. data/spec/integration/api/v2010/account/recording_spec.rb +179 -0
  307. data/spec/integration/api/v2010/account/short_code_spec.rb +180 -0
  308. data/spec/integration/api/v2010/account/signing_key_spec.rb +178 -0
  309. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +257 -0
  310. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +246 -0
  311. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +210 -0
  312. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +220 -0
  313. data/spec/integration/api/v2010/account/sip/domain_spec.rb +283 -0
  314. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +261 -0
  315. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +256 -0
  316. data/spec/integration/api/v2010/account/sip_spec.rb +10 -0
  317. data/spec/integration/api/v2010/account/token_spec.rb +56 -0
  318. data/spec/integration/api/v2010/account/transcription_spec.rb +167 -0
  319. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +111 -0
  320. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +111 -0
  321. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +111 -0
  322. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +111 -0
  323. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +111 -0
  324. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +111 -0
  325. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +111 -0
  326. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +111 -0
  327. data/spec/integration/api/v2010/account/usage/record_spec.rb +108 -0
  328. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +283 -0
  329. data/spec/integration/api/v2010/account/usage_spec.rb +10 -0
  330. data/spec/integration/api/v2010/account/validation_request_spec.rb +48 -0
  331. data/spec/integration/api/v2010/account_spec.rb +254 -0
  332. data/spec/integration/chat/v1/credential_spec.rb +223 -0
  333. data/spec/integration/chat/v1/service/channel/invite_spec.rb +210 -0
  334. data/spec/integration/chat/v1/service/channel/member_spec.rb +284 -0
  335. data/spec/integration/chat/v1/service/channel/message_spec.rb +294 -0
  336. data/spec/integration/chat/v1/service/channel_spec.rb +275 -0
  337. data/spec/integration/chat/v1/service/role_spec.rb +263 -0
  338. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +92 -0
  339. data/spec/integration/chat/v1/service/user_spec.rb +266 -0
  340. data/spec/integration/chat/v1/service_spec.rb +299 -0
  341. data/spec/integration/chat/v2/credential_spec.rb +223 -0
  342. data/spec/integration/chat/v2/service/channel/invite_spec.rb +210 -0
  343. data/spec/integration/chat/v2/service/channel/member_spec.rb +284 -0
  344. data/spec/integration/chat/v2/service/channel/message_spec.rb +294 -0
  345. data/spec/integration/chat/v2/service/channel_spec.rb +275 -0
  346. data/spec/integration/chat/v2/service/role_spec.rb +263 -0
  347. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +92 -0
  348. data/spec/integration/chat/v2/service/user_spec.rb +266 -0
  349. data/spec/integration/chat/v2/service_spec.rb +325 -0
  350. data/spec/integration/fax/v1/fax/fax_media_spec.rb +126 -0
  351. data/spec/integration/fax/v1/fax_spec.rb +272 -0
  352. data/spec/integration/ip_messaging/v1/credential_spec.rb +223 -0
  353. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +210 -0
  354. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +284 -0
  355. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +294 -0
  356. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +275 -0
  357. data/spec/integration/ip_messaging/v1/service/role_spec.rb +263 -0
  358. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +92 -0
  359. data/spec/integration/ip_messaging/v1/service/user_spec.rb +266 -0
  360. data/spec/integration/ip_messaging/v1/service_spec.rb +299 -0
  361. data/spec/integration/ip_messaging/v2/credential_spec.rb +223 -0
  362. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +210 -0
  363. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +284 -0
  364. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +294 -0
  365. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +275 -0
  366. data/spec/integration/ip_messaging/v2/service/role_spec.rb +263 -0
  367. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +92 -0
  368. data/spec/integration/ip_messaging/v2/service/user_spec.rb +266 -0
  369. data/spec/integration/ip_messaging/v2/service_spec.rb +325 -0
  370. data/spec/integration/lookups/v1/phone_number_spec.rb +60 -0
  371. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +170 -0
  372. data/spec/integration/messaging/v1/service/phone_number_spec.rb +201 -0
  373. data/spec/integration/messaging/v1/service/short_code_spec.rb +173 -0
  374. data/spec/integration/messaging/v1/service_spec.rb +263 -0
  375. data/spec/integration/monitor/v1/alert_spec.rb +161 -0
  376. data/spec/integration/monitor/v1/event_spec.rb +148 -0
  377. data/spec/integration/notify/v1/credential_spec.rb +223 -0
  378. data/spec/integration/notify/v1/service/binding_spec.rb +227 -0
  379. data/spec/integration/notify/v1/service/notification_spec.rb +97 -0
  380. data/spec/integration/notify/v1/service/segment_spec.rb +84 -0
  381. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +118 -0
  382. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +269 -0
  383. data/spec/integration/notify/v1/service/user_spec.rb +213 -0
  384. data/spec/integration/notify/v1/service_spec.rb +280 -0
  385. data/spec/integration/preview/bulk_exports/export/day_spec.rb +56 -0
  386. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +79 -0
  387. data/spec/integration/preview/bulk_exports/export_spec.rb +43 -0
  388. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +280 -0
  389. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +121 -0
  390. data/spec/integration/preview/marketplace/available_add_on_spec.rb +142 -0
  391. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +164 -0
  392. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +252 -0
  393. data/spec/integration/preview/proxy/service/phone_number_spec.rb +173 -0
  394. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +104 -0
  395. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +164 -0
  396. data/spec/integration/preview/proxy/service/session/participant_spec.rb +226 -0
  397. data/spec/integration/preview/proxy/service/session_spec.rb +216 -0
  398. data/spec/integration/preview/proxy/service/short_code_spec.rb +173 -0
  399. data/spec/integration/preview/proxy/service_spec.rb +200 -0
  400. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +206 -0
  401. data/spec/integration/preview/sync/service/document_spec.rb +254 -0
  402. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +256 -0
  403. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +206 -0
  404. data/spec/integration/preview/sync/service/sync_list_spec.rb +207 -0
  405. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +257 -0
  406. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +206 -0
  407. data/spec/integration/preview/sync/service/sync_map_spec.rb +207 -0
  408. data/spec/integration/preview/sync/service_spec.rb +244 -0
  409. data/spec/integration/preview/wireless/command_spec.rb +169 -0
  410. data/spec/integration/preview/wireless/rate_plan_spec.rb +260 -0
  411. data/spec/integration/preview/wireless/sim/usage_spec.rb +49 -0
  412. data/spec/integration/preview/wireless/sim_spec.rb +208 -0
  413. data/spec/integration/pricing/v1/messaging/country_spec.rb +137 -0
  414. data/spec/integration/pricing/v1/messaging_spec.rb +10 -0
  415. data/spec/integration/pricing/v1/phone_number/country_spec.rb +128 -0
  416. data/spec/integration/pricing/v1/phone_number_spec.rb +10 -0
  417. data/spec/integration/pricing/v1/voice/country_spec.rb +266 -0
  418. data/spec/integration/pricing/v1/voice/number_spec.rb +54 -0
  419. data/spec/integration/pricing/v1/voice_spec.rb +10 -0
  420. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +206 -0
  421. data/spec/integration/sync/v1/service/document_spec.rb +254 -0
  422. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +256 -0
  423. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +206 -0
  424. data/spec/integration/sync/v1/service/sync_list_spec.rb +207 -0
  425. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +257 -0
  426. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +206 -0
  427. data/spec/integration/sync/v1/service/sync_map_spec.rb +207 -0
  428. data/spec/integration/sync/v1/service_spec.rb +244 -0
  429. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +236 -0
  430. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +157 -0
  431. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +192 -0
  432. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +127 -0
  433. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +106 -0
  434. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +144 -0
  435. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +292 -0
  436. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +324 -0
  437. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +192 -0
  438. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +201 -0
  439. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +107 -0
  440. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +141 -0
  441. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +282 -0
  442. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +69 -0
  443. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +265 -0
  444. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +103 -0
  445. data/spec/integration/taskrouter/v1/workspace_spec.rb +287 -0
  446. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +192 -0
  447. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +192 -0
  448. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +250 -0
  449. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +267 -0
  450. data/spec/integration/trunking/v1/trunk_spec.rb +276 -0
  451. data/spec/integration/video/v1/recording_spec.rb +165 -0
  452. data/spec/integration/video/v1/room/recording_spec.rb +146 -0
  453. data/spec/integration/video/v1/room_spec.rb +237 -0
  454. data/spec/integration/wireless/v1/command_spec.rb +166 -0
  455. data/spec/integration/wireless/v1/rate_plan_spec.rb +268 -0
  456. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +65 -0
  457. data/spec/integration/wireless/v1/sim_spec.rb +208 -0
  458. data/spec/jwt/access_token_spec.rb +130 -0
  459. data/spec/jwt/client_capability_spec.rb +104 -0
  460. data/spec/jwt/task_router_spec.rb +172 -0
  461. data/spec/rack/twilio_webhook_authentication_spec.rb +19 -23
  462. data/spec/{util → security}/request_validator_spec.rb +5 -5
  463. data/spec/spec_helper.rb +18 -1
  464. data/spec/support/fakeweb.rb +1 -1
  465. data/spec/twiml/messaging_response_spec.rb +90 -0
  466. data/spec/twiml/voice_response_spec.rb +474 -0
  467. data/twilio-ruby.gemspec +13 -8
  468. metadata +708 -251
  469. data/docs/Makefile +0 -130
  470. data/docs/_themes/LICENSE +0 -45
  471. data/docs/_themes/README.rst +0 -25
  472. data/docs/_themes/flask_theme_support.py +0 -86
  473. data/docs/_themes/kr/layout.html +0 -32
  474. data/docs/_themes/kr/relations.html +0 -19
  475. data/docs/_themes/kr/static/flasky.css_t +0 -469
  476. data/docs/_themes/kr/static/small_flask.css +0 -70
  477. data/docs/_themes/kr/theme.conf +0 -7
  478. data/docs/_themes/kr_small/layout.html +0 -22
  479. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  480. data/docs/_themes/kr_small/theme.conf +0 -10
  481. data/docs/changelog.rst +0 -1
  482. data/docs/conf.py +0 -266
  483. data/docs/faq.rst +0 -42
  484. data/docs/getting-started.rst +0 -117
  485. data/docs/index.rst +0 -135
  486. data/docs/make.bat +0 -170
  487. data/docs/src/pip-delete-this-directory.txt +0 -5
  488. data/docs/usage/accounts.rst +0 -89
  489. data/docs/usage/addresses.rst +0 -101
  490. data/docs/usage/applications.rst +0 -108
  491. data/docs/usage/basics.rst +0 -115
  492. data/docs/usage/caller-ids.rst +0 -47
  493. data/docs/usage/conferences.rst +0 -108
  494. data/docs/usage/errors.rst +0 -29
  495. data/docs/usage/lookups.rst +0 -62
  496. data/docs/usage/messages.rst +0 -137
  497. data/docs/usage/notifications.rst +0 -72
  498. data/docs/usage/phone-calls.rst +0 -185
  499. data/docs/usage/phone-numbers.rst +0 -189
  500. data/docs/usage/pricing.rst +0 -169
  501. data/docs/usage/queues.rst +0 -112
  502. data/docs/usage/recordings.rst +0 -98
  503. data/docs/usage/sip.rst +0 -104
  504. data/docs/usage/taskrouter-tokens.rst +0 -98
  505. data/docs/usage/taskrouter.rst +0 -440
  506. data/docs/usage/token-generation.rst +0 -115
  507. data/docs/usage/transcriptions.rst +0 -32
  508. data/docs/usage/twiml.rst +0 -69
  509. data/docs/usage/validation.rst +0 -107
  510. data/examples/taskrouter.examples.rb +0 -86
  511. data/issue_template.md +0 -25
  512. data/lib/twilio-ruby/rest/addresses.rb +0 -12
  513. data/lib/twilio-ruby/rest/addresses/dependent_phone_numbers.rb +0 -6
  514. data/lib/twilio-ruby/rest/applications.rb +0 -6
  515. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  516. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  517. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  518. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  519. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  520. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  521. data/lib/twilio-ruby/rest/base_client.rb +0 -131
  522. data/lib/twilio-ruby/rest/call_feedback.rb +0 -28
  523. data/lib/twilio-ruby/rest/call_feedback_summary.rb +0 -13
  524. data/lib/twilio-ruby/rest/calls.rb +0 -33
  525. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  526. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  527. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  528. data/lib/twilio-ruby/rest/errors.rb +0 -14
  529. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  530. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  531. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  532. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  533. data/lib/twilio-ruby/rest/instance_resource.rb +0 -87
  534. data/lib/twilio-ruby/rest/ip-messaging/channels.rb +0 -15
  535. data/lib/twilio-ruby/rest/ip-messaging/credentials.rb +0 -19
  536. data/lib/twilio-ruby/rest/ip-messaging/members.rb +0 -8
  537. data/lib/twilio-ruby/rest/ip-messaging/messages.rb +0 -8
  538. data/lib/twilio-ruby/rest/ip-messaging/roles.rb +0 -8
  539. data/lib/twilio-ruby/rest/ip-messaging/services.rb +0 -17
  540. data/lib/twilio-ruby/rest/ip-messaging/users.rb +0 -8
  541. data/lib/twilio-ruby/rest/ip_messaging_client.rb +0 -100
  542. data/lib/twilio-ruby/rest/keys.rb +0 -6
  543. data/lib/twilio-ruby/rest/list_resource.rb +0 -100
  544. data/lib/twilio-ruby/rest/lookups/phone_numbers.rb +0 -17
  545. data/lib/twilio-ruby/rest/lookups_client.rb +0 -99
  546. data/lib/twilio-ruby/rest/media.rb +0 -14
  547. data/lib/twilio-ruby/rest/messages.rb +0 -22
  548. data/lib/twilio-ruby/rest/monitor/alerts.rb +0 -8
  549. data/lib/twilio-ruby/rest/monitor/events.rb +0 -8
  550. data/lib/twilio-ruby/rest/monitor_client.rb +0 -101
  551. data/lib/twilio-ruby/rest/next_gen_list_resource.rb +0 -36
  552. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  553. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  554. data/lib/twilio-ruby/rest/pricing/countries.rb +0 -21
  555. data/lib/twilio-ruby/rest/pricing/messaging.rb +0 -15
  556. data/lib/twilio-ruby/rest/pricing/phone_numbers.rb +0 -14
  557. data/lib/twilio-ruby/rest/pricing/voice.rb +0 -15
  558. data/lib/twilio-ruby/rest/pricing/voice/numbers.rb +0 -19
  559. data/lib/twilio-ruby/rest/pricing_client.rb +0 -108
  560. data/lib/twilio-ruby/rest/queues.rb +0 -12
  561. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  562. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  563. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  564. data/lib/twilio-ruby/rest/sip.rb +0 -10
  565. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  566. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  567. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  568. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  569. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  570. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  571. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  572. data/lib/twilio-ruby/rest/sms.rb +0 -11
  573. data/lib/twilio-ruby/rest/sms/messages.rb +0 -38
  574. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  575. data/lib/twilio-ruby/rest/task_router/activities.rb +0 -8
  576. data/lib/twilio-ruby/rest/task_router/events.rb +0 -8
  577. data/lib/twilio-ruby/rest/task_router/reservations.rb +0 -8
  578. data/lib/twilio-ruby/rest/task_router/statistics.rb +0 -26
  579. data/lib/twilio-ruby/rest/task_router/task_queues.rb +0 -17
  580. data/lib/twilio-ruby/rest/task_router/task_queues_statistics.rb +0 -15
  581. data/lib/twilio-ruby/rest/task_router/tasks.rb +0 -15
  582. data/lib/twilio-ruby/rest/task_router/workers.rb +0 -19
  583. data/lib/twilio-ruby/rest/task_router/workers_statistics.rb +0 -8
  584. data/lib/twilio-ruby/rest/task_router/workflow_statistics.rb +0 -7
  585. data/lib/twilio-ruby/rest/task_router/workflows.rb +0 -11
  586. data/lib/twilio-ruby/rest/task_router/workspace_statistics.rb +0 -7
  587. data/lib/twilio-ruby/rest/task_router/workspaces.rb +0 -17
  588. data/lib/twilio-ruby/rest/task_router_client.rb +0 -176
  589. data/lib/twilio-ruby/rest/tokens.rb +0 -7
  590. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  591. data/lib/twilio-ruby/rest/trunking/credential_lists.rb +0 -8
  592. data/lib/twilio-ruby/rest/trunking/ip_access_control_lists.rb +0 -8
  593. data/lib/twilio-ruby/rest/trunking/origination_urls.rb +0 -8
  594. data/lib/twilio-ruby/rest/trunking/phone_numbers.rb +0 -8
  595. data/lib/twilio-ruby/rest/trunking/trunks.rb +0 -19
  596. data/lib/twilio-ruby/rest/trunking_client.rb +0 -106
  597. data/lib/twilio-ruby/rest/usage.rb +0 -10
  598. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  599. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  600. data/lib/twilio-ruby/rest/utils.rb +0 -49
  601. data/lib/twilio-ruby/task_router.rb +0 -0
  602. data/lib/twilio-ruby/task_router/capability.rb +0 -230
  603. data/lib/twilio-ruby/task_router/workflow_builder.rb +0 -135
  604. data/lib/twilio-ruby/twiml/response.rb +0 -16
  605. data/lib/twilio-ruby/util/access_token.rb +0 -158
  606. data/lib/twilio-ruby/util/capability.rb +0 -64
  607. data/lib/twilio-ruby/util/client_config.rb +0 -29
  608. data/spec/rest/account_spec.rb +0 -89
  609. data/spec/rest/address_spec.rb +0 -11
  610. data/spec/rest/call_feedback_spec.rb +0 -12
  611. data/spec/rest/call_feedback_summary_spec.rb +0 -9
  612. data/spec/rest/call_spec.rb +0 -22
  613. data/spec/rest/client_spec.rb +0 -277
  614. data/spec/rest/conference_spec.rb +0 -11
  615. data/spec/rest/instance_resource_spec.rb +0 -15
  616. data/spec/rest/ip-messaging/channel_spec.rb +0 -21
  617. data/spec/rest/ip-messaging/service_spec.rb +0 -30
  618. data/spec/rest/ip_messaging_client_spec.rb +0 -21
  619. data/spec/rest/key_spec.rb +0 -11
  620. data/spec/rest/lookups/phone_number_spec.rb +0 -28
  621. data/spec/rest/message_spec.rb +0 -12
  622. data/spec/rest/monitor_client_spec.rb +0 -17
  623. data/spec/rest/numbers_spec.rb +0 -58
  624. data/spec/rest/pricing_client_spec.rb +0 -60
  625. data/spec/rest/queue_spec.rb +0 -11
  626. data/spec/rest/recording_spec.rb +0 -11
  627. data/spec/rest/sms/message_spec.rb +0 -37
  628. data/spec/rest/sms/messages_spec.rb +0 -31
  629. data/spec/rest/task_router/reservation_spec.rb +0 -14
  630. data/spec/rest/task_router/statistics_spec.rb +0 -37
  631. data/spec/rest/task_router/task_queue_spec.rb +0 -9
  632. data/spec/rest/token_spec.rb +0 -7
  633. data/spec/rest/trunking/trunk_spec.rb +0 -36
  634. data/spec/rest/utils_spec.rb +0 -45
  635. data/spec/task_router/workflow_builder_spec.rb +0 -501
  636. data/spec/task_router_deprecated_spec.rb +0 -139
  637. data/spec/task_router_spec.rb +0 -110
  638. data/spec/task_router_taskqueue_spec.rb +0 -111
  639. data/spec/task_router_worker_spec.rb +0 -146
  640. data/spec/task_router_workspace_spec.rb +0 -110
  641. data/spec/util/access_token_spec.rb +0 -161
  642. data/spec/util/capability_spec.rb +0 -186
  643. data/spec/util/client_config_spec.rb +0 -21
@@ -0,0 +1,345 @@
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 QueueContext < InstanceContext
13
+ class MemberList < ListResource
14
+ ##
15
+ # Initialize the MemberList
16
+ # @param [Version] version Version that contains the resource
17
+ # @param [String] account_sid The account_sid
18
+ # @param [String] queue_sid A 34 character string that uniquely identifies this
19
+ # queue.
20
+ # @return [MemberList] MemberList
21
+ def initialize(version, account_sid: nil, queue_sid: nil)
22
+ super(version)
23
+
24
+ # Path Solution
25
+ @solution = {
26
+ account_sid: account_sid,
27
+ queue_sid: queue_sid
28
+ }
29
+ @uri = "/Accounts/#{@solution[:account_sid]}/Queues/#{@solution[:queue_sid]}/Members.json"
30
+ end
31
+
32
+ ##
33
+ # Lists MemberInstance records from the API as a list.
34
+ # Unlike stream(), this operation is eager and will load `limit` records into
35
+ # memory before returning.
36
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
37
+ # guarantees to never return more than limit. Default is no limit
38
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
39
+ # the default value of 50 records. If no page_size is defined
40
+ # but a limit is defined, stream() will attempt to read the
41
+ # limit with the most efficient page size, i.e. min(limit, 1000)
42
+ # @return [Array] Array of up to limit results
43
+ def list(limit: nil, page_size: nil)
44
+ self.stream(
45
+ limit: limit,
46
+ page_size: page_size
47
+ ).entries
48
+ end
49
+
50
+ ##
51
+ # Streams MemberInstance records from the API as an Enumerable.
52
+ # This operation lazily loads records as efficiently as possible until the limit
53
+ # is reached.
54
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
55
+ # guarantees to never return more than limit. Default is no limit
56
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
57
+ # the default value of 50 records. If no page_size is defined
58
+ # but a limit is defined, stream() will attempt to read the
59
+ # limit with the most efficient page size, i.e. min(limit, 1000)
60
+ # @return [Enumerable] Enumerable that will yield up to limit results
61
+ def stream(limit: nil, page_size: nil)
62
+ limits = @version.read_limits(limit, page_size)
63
+
64
+ page = self.page(
65
+ page_size: limits[:page_size],
66
+ )
67
+
68
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
69
+ end
70
+
71
+ ##
72
+ # When passed a block, yields MemberInstance records from the API.
73
+ # This operation lazily loads records as efficiently as possible until the limit
74
+ # is reached.
75
+ def each
76
+ limits = @version.read_limits
77
+
78
+ page = self.page(
79
+ page_size: limits[:page_size],
80
+ )
81
+
82
+ @version.stream(page,
83
+ limit: limits[:limit],
84
+ page_limit: limits[:page_limit]).each {|x| yield x}
85
+ end
86
+
87
+ ##
88
+ # Retrieve a single page of MemberInstance records from the API.
89
+ # Request is executed immediately.
90
+ # @param [String] page_token PageToken provided by the API
91
+ # @param [Integer] page_number Page Number, this value is simply for client state
92
+ # @param [Integer] page_size Number of records to return, defaults to 50
93
+ # @return [Page] Page of MemberInstance
94
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
95
+ params = Twilio::Values.of({
96
+ 'PageToken' => page_token,
97
+ 'Page' => page_number,
98
+ 'PageSize' => page_size,
99
+ })
100
+ response = @version.page(
101
+ 'GET',
102
+ @uri,
103
+ params
104
+ )
105
+ MemberPage.new(@version, response, @solution)
106
+ end
107
+
108
+ ##
109
+ # Retrieve a single page of MemberInstance records from the API.
110
+ # Request is executed immediately.
111
+ # @param [String] target_url API-generated URL for the requested results page
112
+ # @return [Page] Page of MemberInstance
113
+ def get_page(target_url)
114
+ response = @version.domain.request(
115
+ 'GET',
116
+ target_url
117
+ )
118
+ MemberPage.new(@version, response, @solution)
119
+ end
120
+
121
+ ##
122
+ # Provide a user friendly representation
123
+ def to_s
124
+ '#<Twilio.Api.V2010.MemberList>'
125
+ end
126
+ end
127
+
128
+ class MemberPage < Page
129
+ ##
130
+ # Initialize the MemberPage
131
+ # @param [Version] version Version that contains the resource
132
+ # @param [Response] response Response from the API
133
+ # @param [Hash] solution Path solution for the resource
134
+ # @return [MemberPage] MemberPage
135
+ def initialize(version, response, solution)
136
+ super(version, response)
137
+
138
+ # Path Solution
139
+ @solution = solution
140
+ end
141
+
142
+ ##
143
+ # Build an instance of MemberInstance
144
+ # @param [Hash] payload Payload response from the API
145
+ # @return [MemberInstance] MemberInstance
146
+ def get_instance(payload)
147
+ MemberInstance.new(
148
+ @version,
149
+ payload,
150
+ account_sid: @solution[:account_sid],
151
+ queue_sid: @solution[:queue_sid],
152
+ )
153
+ end
154
+
155
+ ##
156
+ # Provide a user friendly representation
157
+ def to_s
158
+ '<Twilio.Api.V2010.MemberPage>'
159
+ end
160
+ end
161
+
162
+ class MemberContext < InstanceContext
163
+ ##
164
+ # Initialize the MemberContext
165
+ # @param [Version] version Version that contains the resource
166
+ # @param [String] account_sid The account_sid
167
+ # @param [String] queue_sid The Queue in which to find the members
168
+ # @param [String] call_sid The call_sid
169
+ # @return [MemberContext] MemberContext
170
+ def initialize(version, account_sid, queue_sid, call_sid)
171
+ super(version)
172
+
173
+ # Path Solution
174
+ @solution = {
175
+ account_sid: account_sid,
176
+ queue_sid: queue_sid,
177
+ call_sid: call_sid,
178
+ }
179
+ @uri = "/Accounts/#{@solution[:account_sid]}/Queues/#{@solution[:queue_sid]}/Members/#{@solution[:call_sid]}.json"
180
+ end
181
+
182
+ ##
183
+ # Fetch a MemberInstance
184
+ # @return [MemberInstance] Fetched MemberInstance
185
+ def fetch
186
+ params = Twilio::Values.of({})
187
+
188
+ payload = @version.fetch(
189
+ 'GET',
190
+ @uri,
191
+ params,
192
+ )
193
+
194
+ MemberInstance.new(
195
+ @version,
196
+ payload,
197
+ account_sid: @solution[:account_sid],
198
+ queue_sid: @solution[:queue_sid],
199
+ call_sid: @solution[:call_sid],
200
+ )
201
+ end
202
+
203
+ ##
204
+ # Update the MemberInstance
205
+ # @param [String] url The url
206
+ # @param [String] method The method
207
+ # @return [MemberInstance] Updated MemberInstance
208
+ def update(url: nil, method: nil)
209
+ data = Twilio::Values.of({
210
+ 'Url' => url,
211
+ 'Method' => method,
212
+ })
213
+
214
+ payload = @version.update(
215
+ 'POST',
216
+ @uri,
217
+ data: data,
218
+ )
219
+
220
+ MemberInstance.new(
221
+ @version,
222
+ payload,
223
+ account_sid: @solution[:account_sid],
224
+ queue_sid: @solution[:queue_sid],
225
+ call_sid: @solution[:call_sid],
226
+ )
227
+ end
228
+
229
+ ##
230
+ # Provide a user friendly representation
231
+ def to_s
232
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
233
+ "#<Twilio.Api.V2010.MemberContext #{context}>"
234
+ end
235
+ end
236
+
237
+ class MemberInstance < InstanceResource
238
+ ##
239
+ # Initialize the MemberInstance
240
+ # @param [Version] version Version that contains the resource
241
+ # @param [Hash] payload payload that contains response from Twilio
242
+ # @param [String] account_sid The account_sid
243
+ # @param [String] queue_sid A 34 character string that uniquely identifies this
244
+ # queue.
245
+ # @param [String] call_sid The call_sid
246
+ # @return [MemberInstance] MemberInstance
247
+ def initialize(version, payload, account_sid: nil, queue_sid: nil, call_sid: nil)
248
+ super(version)
249
+
250
+ # Marshaled Properties
251
+ @properties = {
252
+ 'call_sid' => payload['call_sid'],
253
+ 'date_enqueued' => Twilio.deserialize_rfc2822(payload['date_enqueued']),
254
+ 'position' => payload['position'].to_i,
255
+ 'uri' => payload['uri'],
256
+ 'wait_time' => payload['wait_time'].to_i,
257
+ }
258
+
259
+ # Context
260
+ @instance_context = nil
261
+ @params = {
262
+ 'account_sid' => account_sid,
263
+ 'queue_sid' => queue_sid,
264
+ 'call_sid' => call_sid || @properties['call_sid'],
265
+ }
266
+ end
267
+
268
+ ##
269
+ # Generate an instance context for the instance, the context is capable of
270
+ # performing various actions. All instance actions are proxied to the context
271
+ # @return [MemberContext] MemberContext for this MemberInstance
272
+ def context
273
+ unless @instance_context
274
+ @instance_context = MemberContext.new(
275
+ @version,
276
+ @params['account_sid'],
277
+ @params['queue_sid'],
278
+ @params['call_sid'],
279
+ )
280
+ end
281
+ @instance_context
282
+ end
283
+
284
+ ##
285
+ # @return [String] Unique string that identifies this resource
286
+ def call_sid
287
+ @properties['call_sid']
288
+ end
289
+
290
+ ##
291
+ # @return [Time] The date the member was enqueued
292
+ def date_enqueued
293
+ @properties['date_enqueued']
294
+ end
295
+
296
+ ##
297
+ # @return [String] This member's current position in the queue.
298
+ def position
299
+ @properties['position']
300
+ end
301
+
302
+ ##
303
+ # @return [String] The uri
304
+ def uri
305
+ @properties['uri']
306
+ end
307
+
308
+ ##
309
+ # @return [String] The number of seconds the member has been in the queue.
310
+ def wait_time
311
+ @properties['wait_time']
312
+ end
313
+
314
+ ##
315
+ # Fetch a MemberInstance
316
+ # @return [MemberInstance] Fetched MemberInstance
317
+ def fetch
318
+ context.fetch
319
+ end
320
+
321
+ ##
322
+ # Update the MemberInstance
323
+ # @param [String] url The url
324
+ # @param [String] method The method
325
+ # @return [MemberInstance] Updated MemberInstance
326
+ def update(url: nil, method: nil)
327
+ context.update(
328
+ url: url,
329
+ method: method,
330
+ )
331
+ end
332
+
333
+ ##
334
+ # Provide a user friendly representation
335
+ def to_s
336
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
337
+ "<Twilio.Api.V2010.MemberInstance #{values}>"
338
+ end
339
+ end
340
+ end
341
+ end
342
+ end
343
+ end
344
+ end
345
+ end
@@ -0,0 +1,479 @@
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 RecordingList < ListResource
13
+ ##
14
+ # Initialize the RecordingList
15
+ # @param [Version] version Version that contains the resource
16
+ # @param [String] account_sid The unique id of the Account responsible for this
17
+ # recording.
18
+ # @return [RecordingList] RecordingList
19
+ def initialize(version, account_sid: nil)
20
+ super(version)
21
+
22
+ # Path Solution
23
+ @solution = {
24
+ account_sid: account_sid
25
+ }
26
+ @uri = "/Accounts/#{@solution[:account_sid]}/Recordings.json"
27
+ end
28
+
29
+ ##
30
+ # Lists RecordingInstance records from the API as a list.
31
+ # Unlike stream(), this operation is eager and will load `limit` records into
32
+ # memory before returning.
33
+ # @param [Time] date_created_before Filter by date created
34
+ # @param [Time] date_created Filter by date created
35
+ # @param [Time] date_created_after Filter by date created
36
+ # @param [String] call_sid Only show recordings made during the call given by the
37
+ # indicated sid
38
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
39
+ # guarantees to never return more than limit. Default is no limit
40
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
41
+ # the default value of 50 records. If no page_size is defined
42
+ # but a limit is defined, stream() will attempt to read the
43
+ # limit with the most efficient page size, i.e. min(limit, 1000)
44
+ # @return [Array] Array of up to limit results
45
+ def list(date_created_before: :unset, date_created: :unset, date_created_after: :unset, call_sid: :unset, limit: nil, page_size: nil)
46
+ self.stream(
47
+ date_created_before: date_created_before,
48
+ date_created: date_created,
49
+ date_created_after: date_created_after,
50
+ call_sid: call_sid,
51
+ limit: limit,
52
+ page_size: page_size
53
+ ).entries
54
+ end
55
+
56
+ ##
57
+ # Streams RecordingInstance records from the API as an Enumerable.
58
+ # This operation lazily loads records as efficiently as possible until the limit
59
+ # is reached.
60
+ # @param [Time] date_created_before Filter by date created
61
+ # @param [Time] date_created Filter by date created
62
+ # @param [Time] date_created_after Filter by date created
63
+ # @param [String] call_sid Only show recordings made during the call given by the
64
+ # indicated sid
65
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
66
+ # guarantees to never return more than limit. Default is no limit
67
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
68
+ # the default value of 50 records. If no page_size is defined
69
+ # but a limit is defined, stream() will attempt to read the
70
+ # limit with the most efficient page size, i.e. min(limit, 1000)
71
+ # @return [Enumerable] Enumerable that will yield up to limit results
72
+ def stream(date_created_before: :unset, date_created: :unset, date_created_after: :unset, call_sid: :unset, limit: nil, page_size: nil)
73
+ limits = @version.read_limits(limit, page_size)
74
+
75
+ page = self.page(
76
+ date_created_before: date_created_before,
77
+ date_created: date_created,
78
+ date_created_after: date_created_after,
79
+ call_sid: call_sid,
80
+ page_size: limits[:page_size],
81
+ )
82
+
83
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
84
+ end
85
+
86
+ ##
87
+ # When passed a block, yields RecordingInstance records from the API.
88
+ # This operation lazily loads records as efficiently as possible until the limit
89
+ # is reached.
90
+ def each
91
+ limits = @version.read_limits
92
+
93
+ page = self.page(
94
+ page_size: limits[:page_size],
95
+ )
96
+
97
+ @version.stream(page,
98
+ limit: limits[:limit],
99
+ page_limit: limits[:page_limit]).each {|x| yield x}
100
+ end
101
+
102
+ ##
103
+ # Retrieve a single page of RecordingInstance records from the API.
104
+ # Request is executed immediately.
105
+ # @param [Time] date_created_before Filter by date created
106
+ # @param [Time] date_created Filter by date created
107
+ # @param [Time] date_created_after Filter by date created
108
+ # @param [String] call_sid Only show recordings made during the call given by the
109
+ # indicated sid
110
+ # @param [String] page_token PageToken provided by the API
111
+ # @param [Integer] page_number Page Number, this value is simply for client state
112
+ # @param [Integer] page_size Number of records to return, defaults to 50
113
+ # @return [Page] Page of RecordingInstance
114
+ def page(date_created_before: :unset, date_created: :unset, date_created_after: :unset, call_sid: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
115
+ params = Twilio::Values.of({
116
+ 'DateCreated<' => Twilio.serialize_iso8601_datetime(date_created_before),
117
+ 'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
118
+ 'DateCreated>' => Twilio.serialize_iso8601_datetime(date_created_after),
119
+ 'CallSid' => call_sid,
120
+ 'PageToken' => page_token,
121
+ 'Page' => page_number,
122
+ 'PageSize' => page_size,
123
+ })
124
+ response = @version.page(
125
+ 'GET',
126
+ @uri,
127
+ params
128
+ )
129
+ RecordingPage.new(@version, response, @solution)
130
+ end
131
+
132
+ ##
133
+ # Retrieve a single page of RecordingInstance records from the API.
134
+ # Request is executed immediately.
135
+ # @param [String] target_url API-generated URL for the requested results page
136
+ # @return [Page] Page of RecordingInstance
137
+ def get_page(target_url)
138
+ response = @version.domain.request(
139
+ 'GET',
140
+ target_url
141
+ )
142
+ RecordingPage.new(@version, response, @solution)
143
+ end
144
+
145
+ ##
146
+ # Provide a user friendly representation
147
+ def to_s
148
+ '#<Twilio.Api.V2010.RecordingList>'
149
+ end
150
+ end
151
+
152
+ class RecordingPage < Page
153
+ ##
154
+ # Initialize the RecordingPage
155
+ # @param [Version] version Version that contains the resource
156
+ # @param [Response] response Response from the API
157
+ # @param [Hash] solution Path solution for the resource
158
+ # @return [RecordingPage] RecordingPage
159
+ def initialize(version, response, solution)
160
+ super(version, response)
161
+
162
+ # Path Solution
163
+ @solution = solution
164
+ end
165
+
166
+ ##
167
+ # Build an instance of RecordingInstance
168
+ # @param [Hash] payload Payload response from the API
169
+ # @return [RecordingInstance] RecordingInstance
170
+ def get_instance(payload)
171
+ RecordingInstance.new(
172
+ @version,
173
+ payload,
174
+ account_sid: @solution[:account_sid],
175
+ )
176
+ end
177
+
178
+ ##
179
+ # Provide a user friendly representation
180
+ def to_s
181
+ '<Twilio.Api.V2010.RecordingPage>'
182
+ end
183
+ end
184
+
185
+ class RecordingContext < InstanceContext
186
+ ##
187
+ # Initialize the RecordingContext
188
+ # @param [Version] version Version that contains the resource
189
+ # @param [String] account_sid The account_sid
190
+ # @param [String] sid The recording Sid that uniquely identifies this resource
191
+ # @return [RecordingContext] RecordingContext
192
+ def initialize(version, account_sid, sid)
193
+ super(version)
194
+
195
+ # Path Solution
196
+ @solution = {
197
+ account_sid: account_sid,
198
+ sid: sid,
199
+ }
200
+ @uri = "/Accounts/#{@solution[:account_sid]}/Recordings/#{@solution[:sid]}.json"
201
+
202
+ # Dependents
203
+ @transcriptions = nil
204
+ @add_on_results = nil
205
+ end
206
+
207
+ ##
208
+ # Fetch a RecordingInstance
209
+ # @return [RecordingInstance] Fetched RecordingInstance
210
+ def fetch
211
+ params = Twilio::Values.of({})
212
+
213
+ payload = @version.fetch(
214
+ 'GET',
215
+ @uri,
216
+ params,
217
+ )
218
+
219
+ RecordingInstance.new(
220
+ @version,
221
+ payload,
222
+ account_sid: @solution[:account_sid],
223
+ sid: @solution[:sid],
224
+ )
225
+ end
226
+
227
+ ##
228
+ # Deletes the RecordingInstance
229
+ # @return [Boolean] true if delete succeeds, true otherwise
230
+ def delete
231
+ @version.delete('delete', @uri)
232
+ end
233
+
234
+ ##
235
+ # Access the transcriptions
236
+ # @return [TranscriptionList]
237
+ # @return [TranscriptionContext] if sid was passed.
238
+ def transcriptions(sid=:unset)
239
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
240
+
241
+ if sid != :unset
242
+ return TranscriptionContext.new(
243
+ @version,
244
+ @solution[:account_sid],
245
+ @solution[:sid],
246
+ sid,
247
+ )
248
+ end
249
+
250
+ unless @transcriptions
251
+ @transcriptions = TranscriptionList.new(
252
+ @version,
253
+ account_sid: @solution[:account_sid],
254
+ recording_sid: @solution[:sid],
255
+ )
256
+ end
257
+
258
+ @transcriptions
259
+ end
260
+
261
+ ##
262
+ # Access the add_on_results
263
+ # @return [AddOnResultList]
264
+ # @return [AddOnResultContext] if sid was passed.
265
+ def add_on_results(sid=:unset)
266
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
267
+
268
+ if sid != :unset
269
+ return AddOnResultContext.new(
270
+ @version,
271
+ @solution[:account_sid],
272
+ @solution[:sid],
273
+ sid,
274
+ )
275
+ end
276
+
277
+ unless @add_on_results
278
+ @add_on_results = AddOnResultList.new(
279
+ @version,
280
+ account_sid: @solution[:account_sid],
281
+ reference_sid: @solution[:sid],
282
+ )
283
+ end
284
+
285
+ @add_on_results
286
+ end
287
+
288
+ ##
289
+ # Provide a user friendly representation
290
+ def to_s
291
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
292
+ "#<Twilio.Api.V2010.RecordingContext #{context}>"
293
+ end
294
+ end
295
+
296
+ class RecordingInstance < InstanceResource
297
+ ##
298
+ # Initialize the RecordingInstance
299
+ # @param [Version] version Version that contains the resource
300
+ # @param [Hash] payload payload that contains response from Twilio
301
+ # @param [String] account_sid The unique id of the Account responsible for this
302
+ # recording.
303
+ # @param [String] sid The recording Sid that uniquely identifies this resource
304
+ # @return [RecordingInstance] RecordingInstance
305
+ def initialize(version, payload, account_sid: nil, sid: nil)
306
+ super(version)
307
+
308
+ # Marshaled Properties
309
+ @properties = {
310
+ 'account_sid' => payload['account_sid'],
311
+ 'api_version' => payload['api_version'],
312
+ 'call_sid' => payload['call_sid'],
313
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
314
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
315
+ 'duration' => payload['duration'],
316
+ 'sid' => payload['sid'],
317
+ 'price' => payload['price'],
318
+ 'price_unit' => payload['price_unit'],
319
+ 'status' => payload['status'],
320
+ 'channels' => payload['channels'].to_i,
321
+ 'source' => payload['source'],
322
+ 'uri' => payload['uri'],
323
+ 'encryption_type' => payload['encryption_type'],
324
+ 'encryption_details' => payload['encryption_details'],
325
+ }
326
+
327
+ # Context
328
+ @instance_context = nil
329
+ @params = {
330
+ 'account_sid' => account_sid,
331
+ 'sid' => sid || @properties['sid'],
332
+ }
333
+ end
334
+
335
+ ##
336
+ # Generate an instance context for the instance, the context is capable of
337
+ # performing various actions. All instance actions are proxied to the context
338
+ # @return [RecordingContext] RecordingContext for this RecordingInstance
339
+ def context
340
+ unless @instance_context
341
+ @instance_context = RecordingContext.new(
342
+ @version,
343
+ @params['account_sid'],
344
+ @params['sid'],
345
+ )
346
+ end
347
+ @instance_context
348
+ end
349
+
350
+ ##
351
+ # @return [String] The unique sid that identifies this account
352
+ def account_sid
353
+ @properties['account_sid']
354
+ end
355
+
356
+ ##
357
+ # @return [String] The version of the API in use during the recording.
358
+ def api_version
359
+ @properties['api_version']
360
+ end
361
+
362
+ ##
363
+ # @return [String] The call during which the recording was made.
364
+ def call_sid
365
+ @properties['call_sid']
366
+ end
367
+
368
+ ##
369
+ # @return [Time] The date this resource was created
370
+ def date_created
371
+ @properties['date_created']
372
+ end
373
+
374
+ ##
375
+ # @return [Time] The date this resource was last updated
376
+ def date_updated
377
+ @properties['date_updated']
378
+ end
379
+
380
+ ##
381
+ # @return [String] The length of the recording, in seconds.
382
+ def duration
383
+ @properties['duration']
384
+ end
385
+
386
+ ##
387
+ # @return [String] A string that uniquely identifies this recording
388
+ def sid
389
+ @properties['sid']
390
+ end
391
+
392
+ ##
393
+ # @return [String] The price
394
+ def price
395
+ @properties['price']
396
+ end
397
+
398
+ ##
399
+ # @return [String] The price_unit
400
+ def price_unit
401
+ @properties['price_unit']
402
+ end
403
+
404
+ ##
405
+ # @return [transcription.Status] The status
406
+ def status
407
+ @properties['status']
408
+ end
409
+
410
+ ##
411
+ # @return [String] The channels
412
+ def channels
413
+ @properties['channels']
414
+ end
415
+
416
+ ##
417
+ # @return [recording.Source] The source
418
+ def source
419
+ @properties['source']
420
+ end
421
+
422
+ ##
423
+ # @return [String] The URI for this resource
424
+ def uri
425
+ @properties['uri']
426
+ end
427
+
428
+ ##
429
+ # @return [String] The type of encryption used for this resource.
430
+ def encryption_type
431
+ @properties['encryption_type']
432
+ end
433
+
434
+ ##
435
+ # @return [Hash] The encryption_details
436
+ def encryption_details
437
+ @properties['encryption_details']
438
+ end
439
+
440
+ ##
441
+ # Fetch a RecordingInstance
442
+ # @return [RecordingInstance] Fetched RecordingInstance
443
+ def fetch
444
+ context.fetch
445
+ end
446
+
447
+ ##
448
+ # Deletes the RecordingInstance
449
+ # @return [Boolean] true if delete succeeds, true otherwise
450
+ def delete
451
+ context.delete
452
+ end
453
+
454
+ ##
455
+ # Access the transcriptions
456
+ # @return [transcriptions] transcriptions
457
+ def transcriptions
458
+ context.transcriptions
459
+ end
460
+
461
+ ##
462
+ # Access the add_on_results
463
+ # @return [add_on_results] add_on_results
464
+ def add_on_results
465
+ context.add_on_results
466
+ end
467
+
468
+ ##
469
+ # Provide a user friendly representation
470
+ def to_s
471
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
472
+ "<Twilio.Api.V2010.RecordingInstance #{values}>"
473
+ end
474
+ end
475
+ end
476
+ end
477
+ end
478
+ end
479
+ end