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,389 @@
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 AvailablePhoneNumberCountryContext < InstanceContext
13
+ class TollFreeList < ListResource
14
+ ##
15
+ # Initialize the TollFreeList
16
+ # @param [Version] version Version that contains the resource
17
+ # @param [String] account_sid The 34 character string that uniquely identifies
18
+ # your account.
19
+ # @param [String] country_code The ISO Country code to lookup phone numbers for.
20
+ # @return [TollFreeList] TollFreeList
21
+ def initialize(version, account_sid: nil, country_code: nil)
22
+ super(version)
23
+
24
+ # Path Solution
25
+ @solution = {
26
+ account_sid: account_sid,
27
+ country_code: country_code
28
+ }
29
+ @uri = "/Accounts/#{@solution[:account_sid]}/AvailablePhoneNumbers/#{@solution[:country_code]}/TollFree.json"
30
+ end
31
+
32
+ ##
33
+ # Lists TollFreeInstance 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 [String] area_code The area_code
37
+ # @param [String] contains The contains
38
+ # @param [Boolean] sms_enabled The sms_enabled
39
+ # @param [Boolean] mms_enabled The mms_enabled
40
+ # @param [Boolean] voice_enabled The voice_enabled
41
+ # @param [Boolean] exclude_all_address_required The exclude_all_address_required
42
+ # @param [Boolean] exclude_local_address_required The
43
+ # exclude_local_address_required
44
+ # @param [Boolean] exclude_foreign_address_required The
45
+ # exclude_foreign_address_required
46
+ # @param [Boolean] beta The beta
47
+ # @param [String] near_number The near_number
48
+ # @param [String] near_lat_long The near_lat_long
49
+ # @param [String] distance The distance
50
+ # @param [String] in_postal_code The in_postal_code
51
+ # @param [String] in_region The in_region
52
+ # @param [String] in_rate_center The in_rate_center
53
+ # @param [String] in_lata The in_lata
54
+ # @param [String] in_locality The in_locality
55
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
56
+ # guarantees to never return more than limit. Default is no limit
57
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
58
+ # the default value of 50 records. If no page_size is defined
59
+ # but a limit is defined, stream() will attempt to read the
60
+ # limit with the most efficient page size, i.e. min(limit, 1000)
61
+ # @return [Array] Array of up to limit results
62
+ def list(area_code: :unset, contains: :unset, sms_enabled: :unset, mms_enabled: :unset, voice_enabled: :unset, exclude_all_address_required: :unset, exclude_local_address_required: :unset, exclude_foreign_address_required: :unset, beta: :unset, near_number: :unset, near_lat_long: :unset, distance: :unset, in_postal_code: :unset, in_region: :unset, in_rate_center: :unset, in_lata: :unset, in_locality: :unset, limit: nil, page_size: nil)
63
+ self.stream(
64
+ area_code: area_code,
65
+ contains: contains,
66
+ sms_enabled: sms_enabled,
67
+ mms_enabled: mms_enabled,
68
+ voice_enabled: voice_enabled,
69
+ exclude_all_address_required: exclude_all_address_required,
70
+ exclude_local_address_required: exclude_local_address_required,
71
+ exclude_foreign_address_required: exclude_foreign_address_required,
72
+ beta: beta,
73
+ near_number: near_number,
74
+ near_lat_long: near_lat_long,
75
+ distance: distance,
76
+ in_postal_code: in_postal_code,
77
+ in_region: in_region,
78
+ in_rate_center: in_rate_center,
79
+ in_lata: in_lata,
80
+ in_locality: in_locality,
81
+ limit: limit,
82
+ page_size: page_size
83
+ ).entries
84
+ end
85
+
86
+ ##
87
+ # Streams TollFreeInstance records from the API as an Enumerable.
88
+ # This operation lazily loads records as efficiently as possible until the limit
89
+ # is reached.
90
+ # @param [String] area_code The area_code
91
+ # @param [String] contains The contains
92
+ # @param [Boolean] sms_enabled The sms_enabled
93
+ # @param [Boolean] mms_enabled The mms_enabled
94
+ # @param [Boolean] voice_enabled The voice_enabled
95
+ # @param [Boolean] exclude_all_address_required The exclude_all_address_required
96
+ # @param [Boolean] exclude_local_address_required The
97
+ # exclude_local_address_required
98
+ # @param [Boolean] exclude_foreign_address_required The
99
+ # exclude_foreign_address_required
100
+ # @param [Boolean] beta The beta
101
+ # @param [String] near_number The near_number
102
+ # @param [String] near_lat_long The near_lat_long
103
+ # @param [String] distance The distance
104
+ # @param [String] in_postal_code The in_postal_code
105
+ # @param [String] in_region The in_region
106
+ # @param [String] in_rate_center The in_rate_center
107
+ # @param [String] in_lata The in_lata
108
+ # @param [String] in_locality The in_locality
109
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
110
+ # guarantees to never return more than limit. Default is no limit
111
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
112
+ # the default value of 50 records. If no page_size is defined
113
+ # but a limit is defined, stream() will attempt to read the
114
+ # limit with the most efficient page size, i.e. min(limit, 1000)
115
+ # @return [Enumerable] Enumerable that will yield up to limit results
116
+ def stream(area_code: :unset, contains: :unset, sms_enabled: :unset, mms_enabled: :unset, voice_enabled: :unset, exclude_all_address_required: :unset, exclude_local_address_required: :unset, exclude_foreign_address_required: :unset, beta: :unset, near_number: :unset, near_lat_long: :unset, distance: :unset, in_postal_code: :unset, in_region: :unset, in_rate_center: :unset, in_lata: :unset, in_locality: :unset, limit: nil, page_size: nil)
117
+ limits = @version.read_limits(limit, page_size)
118
+
119
+ page = self.page(
120
+ area_code: area_code,
121
+ contains: contains,
122
+ sms_enabled: sms_enabled,
123
+ mms_enabled: mms_enabled,
124
+ voice_enabled: voice_enabled,
125
+ exclude_all_address_required: exclude_all_address_required,
126
+ exclude_local_address_required: exclude_local_address_required,
127
+ exclude_foreign_address_required: exclude_foreign_address_required,
128
+ beta: beta,
129
+ near_number: near_number,
130
+ near_lat_long: near_lat_long,
131
+ distance: distance,
132
+ in_postal_code: in_postal_code,
133
+ in_region: in_region,
134
+ in_rate_center: in_rate_center,
135
+ in_lata: in_lata,
136
+ in_locality: in_locality,
137
+ page_size: limits[:page_size],
138
+ )
139
+
140
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
141
+ end
142
+
143
+ ##
144
+ # When passed a block, yields TollFreeInstance records from the API.
145
+ # This operation lazily loads records as efficiently as possible until the limit
146
+ # is reached.
147
+ def each
148
+ limits = @version.read_limits
149
+
150
+ page = self.page(
151
+ page_size: limits[:page_size],
152
+ )
153
+
154
+ @version.stream(page,
155
+ limit: limits[:limit],
156
+ page_limit: limits[:page_limit]).each {|x| yield x}
157
+ end
158
+
159
+ ##
160
+ # Retrieve a single page of TollFreeInstance records from the API.
161
+ # Request is executed immediately.
162
+ # @param [String] area_code The area_code
163
+ # @param [String] contains The contains
164
+ # @param [Boolean] sms_enabled The sms_enabled
165
+ # @param [Boolean] mms_enabled The mms_enabled
166
+ # @param [Boolean] voice_enabled The voice_enabled
167
+ # @param [Boolean] exclude_all_address_required The exclude_all_address_required
168
+ # @param [Boolean] exclude_local_address_required The
169
+ # exclude_local_address_required
170
+ # @param [Boolean] exclude_foreign_address_required The
171
+ # exclude_foreign_address_required
172
+ # @param [Boolean] beta The beta
173
+ # @param [String] near_number The near_number
174
+ # @param [String] near_lat_long The near_lat_long
175
+ # @param [String] distance The distance
176
+ # @param [String] in_postal_code The in_postal_code
177
+ # @param [String] in_region The in_region
178
+ # @param [String] in_rate_center The in_rate_center
179
+ # @param [String] in_lata The in_lata
180
+ # @param [String] in_locality The in_locality
181
+ # @param [String] page_token PageToken provided by the API
182
+ # @param [Integer] page_number Page Number, this value is simply for client state
183
+ # @param [Integer] page_size Number of records to return, defaults to 50
184
+ # @return [Page] Page of TollFreeInstance
185
+ def page(area_code: :unset, contains: :unset, sms_enabled: :unset, mms_enabled: :unset, voice_enabled: :unset, exclude_all_address_required: :unset, exclude_local_address_required: :unset, exclude_foreign_address_required: :unset, beta: :unset, near_number: :unset, near_lat_long: :unset, distance: :unset, in_postal_code: :unset, in_region: :unset, in_rate_center: :unset, in_lata: :unset, in_locality: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
186
+ params = Twilio::Values.of({
187
+ 'AreaCode' => area_code,
188
+ 'Contains' => contains,
189
+ 'SmsEnabled' => sms_enabled,
190
+ 'MmsEnabled' => mms_enabled,
191
+ 'VoiceEnabled' => voice_enabled,
192
+ 'ExcludeAllAddressRequired' => exclude_all_address_required,
193
+ 'ExcludeLocalAddressRequired' => exclude_local_address_required,
194
+ 'ExcludeForeignAddressRequired' => exclude_foreign_address_required,
195
+ 'Beta' => beta,
196
+ 'NearNumber' => near_number,
197
+ 'NearLatLong' => near_lat_long,
198
+ 'Distance' => distance,
199
+ 'InPostalCode' => in_postal_code,
200
+ 'InRegion' => in_region,
201
+ 'InRateCenter' => in_rate_center,
202
+ 'InLata' => in_lata,
203
+ 'InLocality' => in_locality,
204
+ 'PageToken' => page_token,
205
+ 'Page' => page_number,
206
+ 'PageSize' => page_size,
207
+ })
208
+ response = @version.page(
209
+ 'GET',
210
+ @uri,
211
+ params
212
+ )
213
+ TollFreePage.new(@version, response, @solution)
214
+ end
215
+
216
+ ##
217
+ # Retrieve a single page of TollFreeInstance records from the API.
218
+ # Request is executed immediately.
219
+ # @param [String] target_url API-generated URL for the requested results page
220
+ # @return [Page] Page of TollFreeInstance
221
+ def get_page(target_url)
222
+ response = @version.domain.request(
223
+ 'GET',
224
+ target_url
225
+ )
226
+ TollFreePage.new(@version, response, @solution)
227
+ end
228
+
229
+ ##
230
+ # Provide a user friendly representation
231
+ def to_s
232
+ '#<Twilio.Api.V2010.TollFreeList>'
233
+ end
234
+ end
235
+
236
+ class TollFreePage < Page
237
+ ##
238
+ # Initialize the TollFreePage
239
+ # @param [Version] version Version that contains the resource
240
+ # @param [Response] response Response from the API
241
+ # @param [Hash] solution Path solution for the resource
242
+ # @return [TollFreePage] TollFreePage
243
+ def initialize(version, response, solution)
244
+ super(version, response)
245
+
246
+ # Path Solution
247
+ @solution = solution
248
+ end
249
+
250
+ ##
251
+ # Build an instance of TollFreeInstance
252
+ # @param [Hash] payload Payload response from the API
253
+ # @return [TollFreeInstance] TollFreeInstance
254
+ def get_instance(payload)
255
+ TollFreeInstance.new(
256
+ @version,
257
+ payload,
258
+ account_sid: @solution[:account_sid],
259
+ country_code: @solution[:country_code],
260
+ )
261
+ end
262
+
263
+ ##
264
+ # Provide a user friendly representation
265
+ def to_s
266
+ '<Twilio.Api.V2010.TollFreePage>'
267
+ end
268
+ end
269
+
270
+ class TollFreeInstance < InstanceResource
271
+ ##
272
+ # Initialize the TollFreeInstance
273
+ # @param [Version] version Version that contains the resource
274
+ # @param [Hash] payload payload that contains response from Twilio
275
+ # @param [String] account_sid The 34 character string that uniquely identifies
276
+ # your account.
277
+ # @param [String] country_code The ISO Country code to lookup phone numbers for.
278
+ # @return [TollFreeInstance] TollFreeInstance
279
+ def initialize(version, payload, account_sid: nil, country_code: nil)
280
+ super(version)
281
+
282
+ # Marshaled Properties
283
+ @properties = {
284
+ 'friendly_name' => payload['friendly_name'],
285
+ 'phone_number' => payload['phone_number'],
286
+ 'lata' => payload['lata'],
287
+ 'locality' => payload['locality'],
288
+ 'rate_center' => payload['rate_center'],
289
+ 'latitude' => payload['latitude'].to_f,
290
+ 'longitude' => payload['longitude'].to_f,
291
+ 'region' => payload['region'],
292
+ 'postal_code' => payload['postal_code'],
293
+ 'iso_country' => payload['iso_country'],
294
+ 'address_requirements' => payload['address_requirements'],
295
+ 'beta' => payload['beta'],
296
+ 'capabilities' => payload['capabilities'],
297
+ }
298
+ end
299
+
300
+ ##
301
+ # @return [String] The friendly_name
302
+ def friendly_name
303
+ @properties['friendly_name']
304
+ end
305
+
306
+ ##
307
+ # @return [String] The phone_number
308
+ def phone_number
309
+ @properties['phone_number']
310
+ end
311
+
312
+ ##
313
+ # @return [String] The lata
314
+ def lata
315
+ @properties['lata']
316
+ end
317
+
318
+ ##
319
+ # @return [String] The locality
320
+ def locality
321
+ @properties['locality']
322
+ end
323
+
324
+ ##
325
+ # @return [String] The rate_center
326
+ def rate_center
327
+ @properties['rate_center']
328
+ end
329
+
330
+ ##
331
+ # @return [String] The latitude
332
+ def latitude
333
+ @properties['latitude']
334
+ end
335
+
336
+ ##
337
+ # @return [String] The longitude
338
+ def longitude
339
+ @properties['longitude']
340
+ end
341
+
342
+ ##
343
+ # @return [String] The region
344
+ def region
345
+ @properties['region']
346
+ end
347
+
348
+ ##
349
+ # @return [String] The postal_code
350
+ def postal_code
351
+ @properties['postal_code']
352
+ end
353
+
354
+ ##
355
+ # @return [String] The iso_country
356
+ def iso_country
357
+ @properties['iso_country']
358
+ end
359
+
360
+ ##
361
+ # @return [String] The address_requirements
362
+ def address_requirements
363
+ @properties['address_requirements']
364
+ end
365
+
366
+ ##
367
+ # @return [Boolean] The beta
368
+ def beta
369
+ @properties['beta']
370
+ end
371
+
372
+ ##
373
+ # @return [String] The capabilities
374
+ def capabilities
375
+ @properties['capabilities']
376
+ end
377
+
378
+ ##
379
+ # Provide a user friendly representation
380
+ def to_s
381
+ "<Twilio.Api.V2010.TollFreeInstance>"
382
+ end
383
+ end
384
+ end
385
+ end
386
+ end
387
+ end
388
+ end
389
+ end
@@ -0,0 +1,799 @@
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 CallList < ListResource
13
+ ##
14
+ # Initialize the CallList
15
+ # @param [Version] version Version that contains the resource
16
+ # @param [String] account_sid The unique id of the Account responsible for
17
+ # creating this Call
18
+ # @return [CallList] CallList
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]}/Calls.json"
27
+
28
+ # Components
29
+ @feedback_summaries = nil
30
+ end
31
+
32
+ ##
33
+ # Retrieve a single page of CallInstance records from the API.
34
+ # Request is executed immediately.
35
+ # @param [String] to The phone number, SIP address or client identifier to call.
36
+ # @param [String] from The phone number or client identifier to use as the caller
37
+ # id. If using a phone number, it must be a Twilio number or a Verified outgoing
38
+ # caller id for your account.
39
+ # @param [String] method The HTTP method Twilio should use when requesting the
40
+ # URL. Defaults to `POST`. If an `ApplicationSid` was provided, this parameter is
41
+ # ignored.
42
+ # @param [String] fallback_url A URL that Twilio will request if an error occurs
43
+ # requesting or executing the TwiML at `Url`. If an `ApplicationSid` was provided,
44
+ # this parameter is ignored.
45
+ # @param [String] fallback_method The HTTP method that Twilio should use to
46
+ # request the `FallbackUrl`. Must be either `GET` or `POST`. Defaults to `POST`.
47
+ # If an `ApplicationSid` was provided, this parameter is ignored.
48
+ # @param [String] status_callback A URL that Twilio will request when the call
49
+ # ends to notify your app. If an `ApplicationSid` was provided, this parameter is
50
+ # ignored.
51
+ # @param [String] status_callback_event The status_callback_event
52
+ # @param [String] status_callback_method The HTTP method that Twilio should use to
53
+ # request the `StatusCallback`. Defaults to `POST`. If an `ApplicationSid` was
54
+ # provided, this parameter is ignored.
55
+ # @param [String] send_digits A string of keys to dial after connecting to the
56
+ # number. Valid digits in the string include: any digit (`0`-`9`), '`#`', '`*`'
57
+ # and '`w`' (to insert a half second pause). For example, if you connected to a
58
+ # company phone number, and wanted to pause for one second, dial extension 1234
59
+ # and then the pound key, use `ww1234#`.
60
+ # @param [String] if_machine Tell Twilio to try and determine if a machine (like
61
+ # voicemail) or a human has answered the call. Possible value are `Continue` and
62
+ # `Hangup`.
63
+ # @param [String] timeout The integer number of seconds that Twilio should allow
64
+ # the phone to ring before assuming there is no answer. Default is `60` seconds,
65
+ # the maximum is `999` seconds. Note, you could set this to a low value, such as
66
+ # `15`, to hangup before reaching an answering machine or voicemail.
67
+ # @param [Boolean] record Set this parameter to true to record the entirety of a
68
+ # phone call. The RecordingUrl will be sent to the StatusCallback URL. Defaults to
69
+ # false.
70
+ # @param [String] recording_channels The recording_channels
71
+ # @param [String] recording_status_callback The recording_status_callback
72
+ # @param [String] recording_status_callback_method The
73
+ # recording_status_callback_method
74
+ # @param [String] sip_auth_username The sip_auth_username
75
+ # @param [String] sip_auth_password The sip_auth_password
76
+ # @param [String] machine_detection Twilio will try to detect if a human, fax
77
+ # machine or answering machine has answered the call. Possible value are `Enable`
78
+ # and `DetectMessageEnd`.
79
+ # @param [String] machine_detection_timeout The integer number of miliseconds that
80
+ # Twilio should wait while machine_detection is performned before timing out.
81
+ # @param [String] url The fully qualified URL that should be consulted when the
82
+ # call connects. Just like when you set a URL on a phone number for handling
83
+ # inbound calls.
84
+ # @param [String] application_sid The 34 character sid of the application Twilio
85
+ # should use to handle this phone call. If this parameter is present, Twilio will
86
+ # ignore all of the voice URLs passed and use the URLs set on the application.
87
+ # @return [CallInstance] Newly created CallInstance
88
+ def create(to: nil, from: nil, method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_event: :unset, status_callback_method: :unset, send_digits: :unset, if_machine: :unset, timeout: :unset, record: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, machine_detection: :unset, machine_detection_timeout: :unset, url: :unset, application_sid: :unset)
89
+ data = Twilio::Values.of({
90
+ 'To' => to,
91
+ 'From' => from,
92
+ 'Url' => url,
93
+ 'ApplicationSid' => application_sid,
94
+ 'Method' => method,
95
+ 'FallbackUrl' => fallback_url,
96
+ 'FallbackMethod' => fallback_method,
97
+ 'StatusCallback' => status_callback,
98
+ 'StatusCallbackEvent' => status_callback_event,
99
+ 'StatusCallbackMethod' => status_callback_method,
100
+ 'SendDigits' => send_digits,
101
+ 'IfMachine' => if_machine,
102
+ 'Timeout' => timeout,
103
+ 'Record' => record,
104
+ 'RecordingChannels' => recording_channels,
105
+ 'RecordingStatusCallback' => recording_status_callback,
106
+ 'RecordingStatusCallbackMethod' => recording_status_callback_method,
107
+ 'SipAuthUsername' => sip_auth_username,
108
+ 'SipAuthPassword' => sip_auth_password,
109
+ 'MachineDetection' => machine_detection,
110
+ 'MachineDetectionTimeout' => machine_detection_timeout,
111
+ })
112
+
113
+ payload = @version.create(
114
+ 'POST',
115
+ @uri,
116
+ data: data
117
+ )
118
+
119
+ CallInstance.new(
120
+ @version,
121
+ payload,
122
+ account_sid: @solution[:account_sid],
123
+ )
124
+ end
125
+
126
+ ##
127
+ # Lists CallInstance records from the API as a list.
128
+ # Unlike stream(), this operation is eager and will load `limit` records into
129
+ # memory before returning.
130
+ # @param [String] to Only show calls to this phone number or Client identifier
131
+ # @param [String] from Only show calls from this phone number or Client identifier
132
+ # @param [String] parent_call_sid Only show calls spawned by the call with this
133
+ # Sid
134
+ # @param [feedback_summary.Status] status Only show calls currently in this status
135
+ # @param [Time] start_time_before StartTime to filter on
136
+ # @param [Time] start_time StartTime to filter on
137
+ # @param [Time] start_time_after StartTime to filter on
138
+ # @param [Time] end_time_before EndTime to filter on
139
+ # @param [Time] end_time EndTime to filter on
140
+ # @param [Time] end_time_after EndTime to filter on
141
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
142
+ # guarantees to never return more than limit. Default is no limit
143
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
144
+ # the default value of 50 records. If no page_size is defined
145
+ # but a limit is defined, stream() will attempt to read the
146
+ # limit with the most efficient page size, i.e. min(limit, 1000)
147
+ # @return [Array] Array of up to limit results
148
+ def list(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, limit: nil, page_size: nil)
149
+ self.stream(
150
+ to: to,
151
+ from: from,
152
+ parent_call_sid: parent_call_sid,
153
+ status: status,
154
+ start_time_before: start_time_before,
155
+ start_time: start_time,
156
+ start_time_after: start_time_after,
157
+ end_time_before: end_time_before,
158
+ end_time: end_time,
159
+ end_time_after: end_time_after,
160
+ limit: limit,
161
+ page_size: page_size
162
+ ).entries
163
+ end
164
+
165
+ ##
166
+ # Streams CallInstance records from the API as an Enumerable.
167
+ # This operation lazily loads records as efficiently as possible until the limit
168
+ # is reached.
169
+ # @param [String] to Only show calls to this phone number or Client identifier
170
+ # @param [String] from Only show calls from this phone number or Client identifier
171
+ # @param [String] parent_call_sid Only show calls spawned by the call with this
172
+ # Sid
173
+ # @param [feedback_summary.Status] status Only show calls currently in this status
174
+ # @param [Time] start_time_before StartTime to filter on
175
+ # @param [Time] start_time StartTime to filter on
176
+ # @param [Time] start_time_after StartTime to filter on
177
+ # @param [Time] end_time_before EndTime to filter on
178
+ # @param [Time] end_time EndTime to filter on
179
+ # @param [Time] end_time_after EndTime to filter on
180
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
181
+ # guarantees to never return more than limit. Default is no limit
182
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
183
+ # the default value of 50 records. If no page_size is defined
184
+ # but a limit is defined, stream() will attempt to read the
185
+ # limit with the most efficient page size, i.e. min(limit, 1000)
186
+ # @return [Enumerable] Enumerable that will yield up to limit results
187
+ def stream(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, limit: nil, page_size: nil)
188
+ limits = @version.read_limits(limit, page_size)
189
+
190
+ page = self.page(
191
+ to: to,
192
+ from: from,
193
+ parent_call_sid: parent_call_sid,
194
+ status: status,
195
+ start_time_before: start_time_before,
196
+ start_time: start_time,
197
+ start_time_after: start_time_after,
198
+ end_time_before: end_time_before,
199
+ end_time: end_time,
200
+ end_time_after: end_time_after,
201
+ page_size: limits[:page_size],
202
+ )
203
+
204
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
205
+ end
206
+
207
+ ##
208
+ # When passed a block, yields CallInstance records from the API.
209
+ # This operation lazily loads records as efficiently as possible until the limit
210
+ # is reached.
211
+ def each
212
+ limits = @version.read_limits
213
+
214
+ page = self.page(
215
+ page_size: limits[:page_size],
216
+ )
217
+
218
+ @version.stream(page,
219
+ limit: limits[:limit],
220
+ page_limit: limits[:page_limit]).each {|x| yield x}
221
+ end
222
+
223
+ ##
224
+ # Retrieve a single page of CallInstance records from the API.
225
+ # Request is executed immediately.
226
+ # @param [String] to Only show calls to this phone number or Client identifier
227
+ # @param [String] from Only show calls from this phone number or Client identifier
228
+ # @param [String] parent_call_sid Only show calls spawned by the call with this
229
+ # Sid
230
+ # @param [feedback_summary.Status] status Only show calls currently in this status
231
+ # @param [Time] start_time_before StartTime to filter on
232
+ # @param [Time] start_time StartTime to filter on
233
+ # @param [Time] start_time_after StartTime to filter on
234
+ # @param [Time] end_time_before EndTime to filter on
235
+ # @param [Time] end_time EndTime to filter on
236
+ # @param [Time] end_time_after EndTime to filter on
237
+ # @param [String] page_token PageToken provided by the API
238
+ # @param [Integer] page_number Page Number, this value is simply for client state
239
+ # @param [Integer] page_size Number of records to return, defaults to 50
240
+ # @return [Page] Page of CallInstance
241
+ def page(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
242
+ params = Twilio::Values.of({
243
+ 'To' => to,
244
+ 'From' => from,
245
+ 'ParentCallSid' => parent_call_sid,
246
+ 'Status' => status,
247
+ 'StartTime<' => Twilio.serialize_iso8601_datetime(start_time_before),
248
+ 'StartTime' => Twilio.serialize_iso8601_datetime(start_time),
249
+ 'StartTime>' => Twilio.serialize_iso8601_datetime(start_time_after),
250
+ 'EndTime<' => Twilio.serialize_iso8601_datetime(end_time_before),
251
+ 'EndTime' => Twilio.serialize_iso8601_datetime(end_time),
252
+ 'EndTime>' => Twilio.serialize_iso8601_datetime(end_time_after),
253
+ 'PageToken' => page_token,
254
+ 'Page' => page_number,
255
+ 'PageSize' => page_size,
256
+ })
257
+ response = @version.page(
258
+ 'GET',
259
+ @uri,
260
+ params
261
+ )
262
+ CallPage.new(@version, response, @solution)
263
+ end
264
+
265
+ ##
266
+ # Retrieve a single page of CallInstance records from the API.
267
+ # Request is executed immediately.
268
+ # @param [String] target_url API-generated URL for the requested results page
269
+ # @return [Page] Page of CallInstance
270
+ def get_page(target_url)
271
+ response = @version.domain.request(
272
+ 'GET',
273
+ target_url
274
+ )
275
+ CallPage.new(@version, response, @solution)
276
+ end
277
+
278
+ ##
279
+ # Access the feedback_summaries
280
+ # @param [String] sid The sid
281
+ # @return [FeedbackSummaryList]
282
+ # @return [FeedbackSummaryContext] if sid was passed.
283
+ def feedback_summaries(sid=:unset)
284
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
285
+
286
+ if sid != :unset
287
+ return FeedbackSummaryContext.new(
288
+ @version,
289
+ @solution[:account_sid],
290
+ sid,
291
+ )
292
+ end
293
+
294
+ @feedback_summaries ||= FeedbackSummaryList.new(
295
+ @version,
296
+ account_sid: @solution[:account_sid],
297
+ )
298
+ end
299
+
300
+ ##
301
+ # Provide a user friendly representation
302
+ def to_s
303
+ '#<Twilio.Api.V2010.CallList>'
304
+ end
305
+ end
306
+
307
+ class CallPage < Page
308
+ ##
309
+ # Initialize the CallPage
310
+ # @param [Version] version Version that contains the resource
311
+ # @param [Response] response Response from the API
312
+ # @param [Hash] solution Path solution for the resource
313
+ # @return [CallPage] CallPage
314
+ def initialize(version, response, solution)
315
+ super(version, response)
316
+
317
+ # Path Solution
318
+ @solution = solution
319
+ end
320
+
321
+ ##
322
+ # Build an instance of CallInstance
323
+ # @param [Hash] payload Payload response from the API
324
+ # @return [CallInstance] CallInstance
325
+ def get_instance(payload)
326
+ CallInstance.new(
327
+ @version,
328
+ payload,
329
+ account_sid: @solution[:account_sid],
330
+ )
331
+ end
332
+
333
+ ##
334
+ # Provide a user friendly representation
335
+ def to_s
336
+ '<Twilio.Api.V2010.CallPage>'
337
+ end
338
+ end
339
+
340
+ class CallContext < InstanceContext
341
+ ##
342
+ # Initialize the CallContext
343
+ # @param [Version] version Version that contains the resource
344
+ # @param [String] account_sid The account_sid
345
+ # @param [String] sid The Call Sid that uniquely identifies the Call to fetch
346
+ # @return [CallContext] CallContext
347
+ def initialize(version, account_sid, sid)
348
+ super(version)
349
+
350
+ # Path Solution
351
+ @solution = {
352
+ account_sid: account_sid,
353
+ sid: sid,
354
+ }
355
+ @uri = "/Accounts/#{@solution[:account_sid]}/Calls/#{@solution[:sid]}.json"
356
+
357
+ # Dependents
358
+ @recordings = nil
359
+ @notifications = nil
360
+ @feedback = nil
361
+ end
362
+
363
+ ##
364
+ # Deletes the CallInstance
365
+ # @return [Boolean] true if delete succeeds, true otherwise
366
+ def delete
367
+ @version.delete('delete', @uri)
368
+ end
369
+
370
+ ##
371
+ # Fetch a CallInstance
372
+ # @return [CallInstance] Fetched CallInstance
373
+ def fetch
374
+ params = Twilio::Values.of({})
375
+
376
+ payload = @version.fetch(
377
+ 'GET',
378
+ @uri,
379
+ params,
380
+ )
381
+
382
+ CallInstance.new(
383
+ @version,
384
+ payload,
385
+ account_sid: @solution[:account_sid],
386
+ sid: @solution[:sid],
387
+ )
388
+ end
389
+
390
+ ##
391
+ # Update the CallInstance
392
+ # @param [String] url A valid URL that returns TwiML. Twilio will immediately
393
+ # redirect the call to the new TwiML upon execution.
394
+ # @param [String] method The HTTP method Twilio should use when requesting the
395
+ # URL. Defaults to `POST`.
396
+ # @param [call.UpdateStatus] status Either `canceled` or `completed`. Specifying
397
+ # `canceled` will attempt to hangup calls that are queued or ringing but not
398
+ # affect calls already in progress. Specifying `completed` will attempt to hang up
399
+ # a call even if it's already in progress.
400
+ # @param [String] fallback_url A URL that Twilio will request if an error occurs
401
+ # requesting or executing the TwiML at `Url`.
402
+ # @param [String] fallback_method The HTTP method that Twilio should use to
403
+ # request the `FallbackUrl`. Must be either `GET` or `POST`. Defaults to `POST`.
404
+ # @param [String] status_callback A URL that Twilio will request when the call
405
+ # ends to notify your app.
406
+ # @param [String] status_callback_method The HTTP method that Twilio should use to
407
+ # request the `StatusCallback`. Defaults to `POST`.
408
+ # @return [CallInstance] Updated CallInstance
409
+ def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset)
410
+ data = Twilio::Values.of({
411
+ 'Url' => url,
412
+ 'Method' => method,
413
+ 'Status' => status,
414
+ 'FallbackUrl' => fallback_url,
415
+ 'FallbackMethod' => fallback_method,
416
+ 'StatusCallback' => status_callback,
417
+ 'StatusCallbackMethod' => status_callback_method,
418
+ })
419
+
420
+ payload = @version.update(
421
+ 'POST',
422
+ @uri,
423
+ data: data,
424
+ )
425
+
426
+ CallInstance.new(
427
+ @version,
428
+ payload,
429
+ account_sid: @solution[:account_sid],
430
+ sid: @solution[:sid],
431
+ )
432
+ end
433
+
434
+ ##
435
+ # Access the recordings
436
+ # @return [RecordingList]
437
+ # @return [RecordingContext] if sid was passed.
438
+ def recordings(sid=:unset)
439
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
440
+
441
+ if sid != :unset
442
+ return RecordingContext.new(
443
+ @version,
444
+ @solution[:account_sid],
445
+ @solution[:sid],
446
+ sid,
447
+ )
448
+ end
449
+
450
+ unless @recordings
451
+ @recordings = RecordingList.new(
452
+ @version,
453
+ account_sid: @solution[:account_sid],
454
+ call_sid: @solution[:sid],
455
+ )
456
+ end
457
+
458
+ @recordings
459
+ end
460
+
461
+ ##
462
+ # Access the notifications
463
+ # @return [NotificationList]
464
+ # @return [NotificationContext] if sid was passed.
465
+ def notifications(sid=:unset)
466
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
467
+
468
+ if sid != :unset
469
+ return NotificationContext.new(
470
+ @version,
471
+ @solution[:account_sid],
472
+ @solution[:sid],
473
+ sid,
474
+ )
475
+ end
476
+
477
+ unless @notifications
478
+ @notifications = NotificationList.new(
479
+ @version,
480
+ account_sid: @solution[:account_sid],
481
+ call_sid: @solution[:sid],
482
+ )
483
+ end
484
+
485
+ @notifications
486
+ end
487
+
488
+ ##
489
+ # Access the feedback
490
+ # @return [FeedbackList]
491
+ # @return [FeedbackContext]
492
+ def feedback
493
+ FeedbackContext.new(
494
+ @version,
495
+ @solution[:account_sid],
496
+ @solution[:sid],
497
+ )
498
+ end
499
+
500
+ ##
501
+ # Provide a user friendly representation
502
+ def to_s
503
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
504
+ "#<Twilio.Api.V2010.CallContext #{context}>"
505
+ end
506
+ end
507
+
508
+ class CallInstance < InstanceResource
509
+ ##
510
+ # Initialize the CallInstance
511
+ # @param [Version] version Version that contains the resource
512
+ # @param [Hash] payload payload that contains response from Twilio
513
+ # @param [String] account_sid The unique id of the Account responsible for
514
+ # creating this Call
515
+ # @param [String] sid The Call Sid that uniquely identifies the Call to fetch
516
+ # @return [CallInstance] CallInstance
517
+ def initialize(version, payload, account_sid: nil, sid: nil)
518
+ super(version)
519
+
520
+ # Marshaled Properties
521
+ @properties = {
522
+ 'account_sid' => payload['account_sid'],
523
+ 'annotation' => payload['annotation'],
524
+ 'answered_by' => payload['answered_by'],
525
+ 'api_version' => payload['api_version'],
526
+ 'caller_name' => payload['caller_name'],
527
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
528
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
529
+ 'direction' => payload['direction'],
530
+ 'duration' => payload['duration'],
531
+ 'end_time' => Twilio.deserialize_rfc2822(payload['end_time']),
532
+ 'forwarded_from' => payload['forwarded_from'],
533
+ 'from' => payload['from'],
534
+ 'from_formatted' => payload['from_formatted'],
535
+ 'group_sid' => payload['group_sid'],
536
+ 'parent_call_sid' => payload['parent_call_sid'],
537
+ 'phone_number_sid' => payload['phone_number_sid'],
538
+ 'price' => payload['price'].to_f,
539
+ 'price_unit' => payload['price_unit'],
540
+ 'sid' => payload['sid'],
541
+ 'start_time' => Twilio.deserialize_rfc2822(payload['start_time']),
542
+ 'status' => payload['status'],
543
+ 'subresource_uris' => payload['subresource_uris'],
544
+ 'to' => payload['to'],
545
+ 'to_formatted' => payload['to_formatted'],
546
+ 'uri' => payload['uri'],
547
+ }
548
+
549
+ # Context
550
+ @instance_context = nil
551
+ @params = {
552
+ 'account_sid' => account_sid,
553
+ 'sid' => sid || @properties['sid'],
554
+ }
555
+ end
556
+
557
+ ##
558
+ # Generate an instance context for the instance, the context is capable of
559
+ # performing various actions. All instance actions are proxied to the context
560
+ # @return [CallContext] CallContext for this CallInstance
561
+ def context
562
+ unless @instance_context
563
+ @instance_context = CallContext.new(
564
+ @version,
565
+ @params['account_sid'],
566
+ @params['sid'],
567
+ )
568
+ end
569
+ @instance_context
570
+ end
571
+
572
+ ##
573
+ # @return [String] The unique id of the Account responsible for creating this Call
574
+ def account_sid
575
+ @properties['account_sid']
576
+ end
577
+
578
+ ##
579
+ # @return [String] The annotation provided for the Call
580
+ def annotation
581
+ @properties['annotation']
582
+ end
583
+
584
+ ##
585
+ # @return [String] If this call was initiated with answering machine detection, either `human` or `machine`. Empty otherwise.
586
+ def answered_by
587
+ @properties['answered_by']
588
+ end
589
+
590
+ ##
591
+ # @return [String] The API Version the Call was created through
592
+ def api_version
593
+ @properties['api_version']
594
+ end
595
+
596
+ ##
597
+ # @return [String] If this call was an incoming call to a phone number with Caller ID Lookup enabled, the caller's name. Empty otherwise.
598
+ def caller_name
599
+ @properties['caller_name']
600
+ end
601
+
602
+ ##
603
+ # @return [Time] The date that this resource was created
604
+ def date_created
605
+ @properties['date_created']
606
+ end
607
+
608
+ ##
609
+ # @return [Time] The date that this resource was last updated
610
+ def date_updated
611
+ @properties['date_updated']
612
+ end
613
+
614
+ ##
615
+ # @return [String] A string describing the direction of the call. `inbound` for inbound calls, `outbound-api` for calls initiated via the REST API or `outbound-dial` for calls initiated by a `Dial` verb.
616
+ def direction
617
+ @properties['direction']
618
+ end
619
+
620
+ ##
621
+ # @return [String] The duration
622
+ def duration
623
+ @properties['duration']
624
+ end
625
+
626
+ ##
627
+ # @return [Time] The end time of the Call. Null if the call did not complete successfully.
628
+ def end_time
629
+ @properties['end_time']
630
+ end
631
+
632
+ ##
633
+ # @return [String] If this Call was an incoming call forwarded from another number, the forwarding phone number (depends on carrier supporting forwarding). Empty otherwise.
634
+ def forwarded_from
635
+ @properties['forwarded_from']
636
+ end
637
+
638
+ ##
639
+ # @return [String] The phone number, SIP address or Client identifier that made this Call. Phone numbers are in E.164 format (e.g. +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.
640
+ def from
641
+ @properties['from']
642
+ end
643
+
644
+ ##
645
+ # @return [String] The phone number, SIP address or Client identifier that made this Call. Formatted for display.
646
+ def from_formatted
647
+ @properties['from_formatted']
648
+ end
649
+
650
+ ##
651
+ # @return [String] A 34 character Group Sid associated with this Call. Empty if no Group is associated with the Call.
652
+ def group_sid
653
+ @properties['group_sid']
654
+ end
655
+
656
+ ##
657
+ # @return [String] A 34 character string that uniquely identifies the Call that created this leg.
658
+ def parent_call_sid
659
+ @properties['parent_call_sid']
660
+ end
661
+
662
+ ##
663
+ # @return [String] If the call was inbound, this is the Sid of the IncomingPhoneNumber that received the call. If the call was outbound, it is the Sid of the OutgoingCallerId from which the call was placed.
664
+ def phone_number_sid
665
+ @properties['phone_number_sid']
666
+ end
667
+
668
+ ##
669
+ # @return [String] The charge for this call, in the currency associated with the account. Populated after the call is completed. May not be immediately available.
670
+ def price
671
+ @properties['price']
672
+ end
673
+
674
+ ##
675
+ # @return [String] The currency in which `Price` is measured.
676
+ def price_unit
677
+ @properties['price_unit']
678
+ end
679
+
680
+ ##
681
+ # @return [String] A 34 character string that uniquely identifies this resource.
682
+ def sid
683
+ @properties['sid']
684
+ end
685
+
686
+ ##
687
+ # @return [Time] The start time of the Call. Null if the call has not yet been dialed.
688
+ def start_time
689
+ @properties['start_time']
690
+ end
691
+
692
+ ##
693
+ # @return [feedback_summary.Status] The status
694
+ def status
695
+ @properties['status']
696
+ end
697
+
698
+ ##
699
+ # @return [String] Call Instance Subresources
700
+ def subresource_uris
701
+ @properties['subresource_uris']
702
+ end
703
+
704
+ ##
705
+ # @return [String] The phone number, SIP address or Client identifier that received this Call. Phone numbers are in E.164 format (e.g. +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.
706
+ def to
707
+ @properties['to']
708
+ end
709
+
710
+ ##
711
+ # @return [String] The phone number, SIP address or Client identifier that received this Call. Formatted for display.
712
+ def to_formatted
713
+ @properties['to_formatted']
714
+ end
715
+
716
+ ##
717
+ # @return [String] The URI for this resource, relative to `https://api.twilio.com`
718
+ def uri
719
+ @properties['uri']
720
+ end
721
+
722
+ ##
723
+ # Deletes the CallInstance
724
+ # @return [Boolean] true if delete succeeds, true otherwise
725
+ def delete
726
+ context.delete
727
+ end
728
+
729
+ ##
730
+ # Fetch a CallInstance
731
+ # @return [CallInstance] Fetched CallInstance
732
+ def fetch
733
+ context.fetch
734
+ end
735
+
736
+ ##
737
+ # Update the CallInstance
738
+ # @param [String] url A valid URL that returns TwiML. Twilio will immediately
739
+ # redirect the call to the new TwiML upon execution.
740
+ # @param [String] method The HTTP method Twilio should use when requesting the
741
+ # URL. Defaults to `POST`.
742
+ # @param [call.UpdateStatus] status Either `canceled` or `completed`. Specifying
743
+ # `canceled` will attempt to hangup calls that are queued or ringing but not
744
+ # affect calls already in progress. Specifying `completed` will attempt to hang up
745
+ # a call even if it's already in progress.
746
+ # @param [String] fallback_url A URL that Twilio will request if an error occurs
747
+ # requesting or executing the TwiML at `Url`.
748
+ # @param [String] fallback_method The HTTP method that Twilio should use to
749
+ # request the `FallbackUrl`. Must be either `GET` or `POST`. Defaults to `POST`.
750
+ # @param [String] status_callback A URL that Twilio will request when the call
751
+ # ends to notify your app.
752
+ # @param [String] status_callback_method The HTTP method that Twilio should use to
753
+ # request the `StatusCallback`. Defaults to `POST`.
754
+ # @return [CallInstance] Updated CallInstance
755
+ def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset)
756
+ context.update(
757
+ url: url,
758
+ method: method,
759
+ status: status,
760
+ fallback_url: fallback_url,
761
+ fallback_method: fallback_method,
762
+ status_callback: status_callback,
763
+ status_callback_method: status_callback_method,
764
+ )
765
+ end
766
+
767
+ ##
768
+ # Access the recordings
769
+ # @return [recordings] recordings
770
+ def recordings
771
+ context.recordings
772
+ end
773
+
774
+ ##
775
+ # Access the notifications
776
+ # @return [notifications] notifications
777
+ def notifications
778
+ context.notifications
779
+ end
780
+
781
+ ##
782
+ # Access the feedback
783
+ # @return [feedback] feedback
784
+ def feedback
785
+ context.feedback
786
+ end
787
+
788
+ ##
789
+ # Provide a user friendly representation
790
+ def to_s
791
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
792
+ "<Twilio.Api.V2010.CallInstance #{values}>"
793
+ end
794
+ end
795
+ end
796
+ end
797
+ end
798
+ end
799
+ end