twilio-ruby 3.11.5 → 5.0.0

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 (435) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -1
  3. data/.rubocop.yml +21 -0
  4. data/.rubocop_todo.yml +187 -0
  5. data/.travis.yml +10 -10
  6. data/AUTHORS.md +21 -0
  7. data/CHANGES.md +351 -0
  8. data/Gemfile +8 -1
  9. data/{LICENSE → LICENSE.md} +13 -11
  10. data/Makefile +15 -3
  11. data/README.md +90 -95
  12. data/Rakefile +59 -7
  13. data/VERSIONS.md +64 -0
  14. data/examples/examples.rb +62 -49
  15. data/examples/{print-call-log.rb → print_call_log.rb} +7 -7
  16. data/lib/rack/twilio_webhook_authentication.rb +46 -0
  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/v1/credential/public_key.rb +370 -0
  32. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +105 -0
  33. data/lib/twilio-ruby/rest/accounts/v1.rb +39 -0
  34. data/lib/twilio-ruby/rest/accounts.rb +36 -9
  35. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +265 -0
  36. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +509 -0
  37. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +620 -0
  38. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +331 -0
  39. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +389 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +389 -0
  41. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +389 -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/call/feedback.rb +296 -0
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +427 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +379 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +799 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +515 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +455 -0
  50. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +413 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +445 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +445 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +445 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +786 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +165 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +355 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +583 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +153 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +153 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +418 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +377 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +345 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +438 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +378 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +397 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +375 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +479 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +430 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +395 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +419 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +361 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +361 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +570 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +406 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +424 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +174 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +168 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +366 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +304 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +304 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +304 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +304 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +304 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +304 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +304 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +304 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +418 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +507 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +127 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +161 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account.rb +1098 -0
  94. data/lib/twilio-ruby/rest/api/v2010.rb +147 -0
  95. data/lib/twilio-ruby/rest/api.rb +234 -0
  96. data/lib/twilio-ruby/rest/chat/v1/credential.rb +403 -0
  97. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +386 -0
  98. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +431 -0
  99. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +447 -0
  100. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +554 -0
  101. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +396 -0
  102. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +244 -0
  103. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +467 -0
  104. data/lib/twilio-ruby/rest/chat/v1/service.rb +935 -0
  105. data/lib/twilio-ruby/rest/chat/v1.rb +56 -0
  106. data/lib/twilio-ruby/rest/chat/v2/credential.rb +403 -0
  107. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +386 -0
  108. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +431 -0
  109. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +447 -0
  110. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +554 -0
  111. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +396 -0
  112. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +244 -0
  113. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +467 -0
  114. data/lib/twilio-ruby/rest/chat/v2/service.rb +688 -0
  115. data/lib/twilio-ruby/rest/chat/v2.rb +56 -0
  116. data/lib/twilio-ruby/rest/chat.rb +59 -0
  117. data/lib/twilio-ruby/rest/client.rb +307 -215
  118. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +403 -0
  119. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +386 -0
  120. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +431 -0
  121. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +447 -0
  122. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +554 -0
  123. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +396 -0
  124. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +244 -0
  125. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +467 -0
  126. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +935 -0
  127. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +56 -0
  128. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +403 -0
  129. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +386 -0
  130. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +431 -0
  131. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +447 -0
  132. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +554 -0
  133. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +396 -0
  134. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +244 -0
  135. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +467 -0
  136. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +688 -0
  137. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +56 -0
  138. data/lib/twilio-ruby/rest/ip_messaging.rb +59 -0
  139. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +224 -0
  140. data/lib/twilio-ruby/rest/lookups/v1.rb +41 -0
  141. data/lib/twilio-ruby/rest/lookups.rb +44 -0
  142. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +398 -0
  143. data/lib/twilio-ruby/rest/monitor/v1/event.rb +381 -0
  144. data/lib/twilio-ruby/rest/monitor/v1.rb +56 -0
  145. data/lib/twilio-ruby/rest/monitor.rb +52 -0
  146. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +291 -0
  147. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +129 -0
  148. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +284 -0
  149. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +129 -0
  150. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +291 -0
  151. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +208 -0
  152. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +150 -0
  153. data/lib/twilio-ruby/rest/pricing/v1.rb +65 -0
  154. data/lib/twilio-ruby/rest/pricing.rb +54 -0
  155. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +399 -0
  156. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +418 -0
  157. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +461 -0
  158. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +584 -0
  159. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +315 -0
  160. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -0
  161. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +243 -0
  162. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +527 -0
  163. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +461 -0
  164. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +406 -0
  165. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +223 -0
  166. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +226 -0
  167. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +585 -0
  168. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -0
  169. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +475 -0
  170. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +212 -0
  171. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +712 -0
  172. data/lib/twilio-ruby/rest/taskrouter/v1.rb +41 -0
  173. data/lib/twilio-ruby/rest/taskrouter.rb +44 -0
  174. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +345 -0
  175. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +345 -0
  176. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +430 -0
  177. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +478 -0
  178. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +577 -0
  179. data/lib/twilio-ruby/rest/trunking/v1.rb +41 -0
  180. data/lib/twilio-ruby/rest/trunking.rb +44 -0
  181. data/lib/twilio-ruby/rest/video/v1/recording.rb +382 -0
  182. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +381 -0
  183. data/lib/twilio-ruby/rest/video/v1/room.rb +485 -0
  184. data/lib/twilio-ruby/rest/video/v1.rb +56 -0
  185. data/lib/twilio-ruby/rest/video.rb +52 -0
  186. data/lib/twilio-ruby/security/request_validator.rb +54 -0
  187. data/lib/twilio-ruby/twiml/messaging_response.rb +141 -0
  188. data/lib/twilio-ruby/twiml/twiml.rb +69 -0
  189. data/lib/twilio-ruby/twiml/voice_response.rb +916 -0
  190. data/lib/twilio-ruby/util/configuration.rb +7 -0
  191. data/lib/twilio-ruby/util.rb +1 -1
  192. data/lib/twilio-ruby/version.rb +1 -1
  193. data/lib/twilio-ruby.rb +52 -49
  194. data/spec/framework/serialize_spec.rb +59 -0
  195. data/spec/holodeck/holodeck.rb +61 -0
  196. data/spec/holodeck/hologram.rb +4 -0
  197. data/spec/integration/accounts/v1/credential/public_key_spec.rb +226 -0
  198. data/spec/integration/accounts/v1/credential_spec.rb +10 -0
  199. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +90 -0
  200. data/spec/integration/api/v2010/account/address_spec.rb +267 -0
  201. data/spec/integration/api/v2010/account/application_spec.rb +286 -0
  202. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +137 -0
  203. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +101 -0
  204. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +100 -0
  205. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +100 -0
  206. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +128 -0
  207. data/spec/integration/api/v2010/account/call/feedback_spec.rb +141 -0
  208. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +149 -0
  209. data/spec/integration/api/v2010/account/call/notification_spec.rb +179 -0
  210. data/spec/integration/api/v2010/account/call/recording_spec.rb +178 -0
  211. data/spec/integration/api/v2010/account/call_spec.rb +319 -0
  212. data/spec/integration/api/v2010/account/conference/participant_spec.rb +283 -0
  213. data/spec/integration/api/v2010/account/conference_spec.rb +174 -0
  214. data/spec/integration/api/v2010/account/connect_app_spec.rb +177 -0
  215. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +181 -0
  216. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +181 -0
  217. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +181 -0
  218. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +331 -0
  219. data/spec/integration/api/v2010/account/key_spec.rb +178 -0
  220. data/spec/integration/api/v2010/account/message/feedback_spec.rb +48 -0
  221. data/spec/integration/api/v2010/account/message/media_spec.rb +162 -0
  222. data/spec/integration/api/v2010/account/message_spec.rb +297 -0
  223. data/spec/integration/api/v2010/account/new_key_spec.rb +45 -0
  224. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +45 -0
  225. data/spec/integration/api/v2010/account/notification_spec.rb +172 -0
  226. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +193 -0
  227. data/spec/integration/api/v2010/account/queue/member_spec.rb +170 -0
  228. data/spec/integration/api/v2010/account/queue_spec.rb +242 -0
  229. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +175 -0
  230. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +166 -0
  231. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +174 -0
  232. data/spec/integration/api/v2010/account/recording_spec.rb +179 -0
  233. data/spec/integration/api/v2010/account/short_code_spec.rb +180 -0
  234. data/spec/integration/api/v2010/account/signing_key_spec.rb +178 -0
  235. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +257 -0
  236. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +246 -0
  237. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +210 -0
  238. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +220 -0
  239. data/spec/integration/api/v2010/account/sip/domain_spec.rb +283 -0
  240. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +261 -0
  241. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +256 -0
  242. data/spec/integration/api/v2010/account/sip_spec.rb +10 -0
  243. data/spec/integration/api/v2010/account/token_spec.rb +56 -0
  244. data/spec/integration/api/v2010/account/transcription_spec.rb +167 -0
  245. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +111 -0
  246. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +111 -0
  247. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +111 -0
  248. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +111 -0
  249. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +111 -0
  250. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +111 -0
  251. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +111 -0
  252. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +111 -0
  253. data/spec/integration/api/v2010/account/usage/record_spec.rb +108 -0
  254. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +283 -0
  255. data/spec/integration/api/v2010/account/usage_spec.rb +10 -0
  256. data/spec/integration/api/v2010/account/validation_request_spec.rb +48 -0
  257. data/spec/integration/api/v2010/account_spec.rb +254 -0
  258. data/spec/integration/chat/v1/credential_spec.rb +223 -0
  259. data/spec/integration/chat/v1/service/channel/invite_spec.rb +210 -0
  260. data/spec/integration/chat/v1/service/channel/member_spec.rb +284 -0
  261. data/spec/integration/chat/v1/service/channel/message_spec.rb +294 -0
  262. data/spec/integration/chat/v1/service/channel_spec.rb +275 -0
  263. data/spec/integration/chat/v1/service/role_spec.rb +263 -0
  264. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +92 -0
  265. data/spec/integration/chat/v1/service/user_spec.rb +266 -0
  266. data/spec/integration/chat/v1/service_spec.rb +299 -0
  267. data/spec/integration/chat/v2/credential_spec.rb +223 -0
  268. data/spec/integration/chat/v2/service/channel/invite_spec.rb +210 -0
  269. data/spec/integration/chat/v2/service/channel/member_spec.rb +284 -0
  270. data/spec/integration/chat/v2/service/channel/message_spec.rb +294 -0
  271. data/spec/integration/chat/v2/service/channel_spec.rb +275 -0
  272. data/spec/integration/chat/v2/service/role_spec.rb +263 -0
  273. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +92 -0
  274. data/spec/integration/chat/v2/service/user_spec.rb +266 -0
  275. data/spec/integration/chat/v2/service_spec.rb +325 -0
  276. data/spec/integration/ip_messaging/v1/credential_spec.rb +223 -0
  277. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +210 -0
  278. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +284 -0
  279. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +294 -0
  280. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +275 -0
  281. data/spec/integration/ip_messaging/v1/service/role_spec.rb +263 -0
  282. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +92 -0
  283. data/spec/integration/ip_messaging/v1/service/user_spec.rb +266 -0
  284. data/spec/integration/ip_messaging/v1/service_spec.rb +299 -0
  285. data/spec/integration/ip_messaging/v2/credential_spec.rb +223 -0
  286. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +210 -0
  287. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +284 -0
  288. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +294 -0
  289. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +275 -0
  290. data/spec/integration/ip_messaging/v2/service/role_spec.rb +263 -0
  291. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +92 -0
  292. data/spec/integration/ip_messaging/v2/service/user_spec.rb +266 -0
  293. data/spec/integration/ip_messaging/v2/service_spec.rb +325 -0
  294. data/spec/integration/lookups/v1/phone_number_spec.rb +60 -0
  295. data/spec/integration/monitor/v1/alert_spec.rb +161 -0
  296. data/spec/integration/monitor/v1/event_spec.rb +148 -0
  297. data/spec/integration/pricing/v1/messaging/country_spec.rb +137 -0
  298. data/spec/integration/pricing/v1/messaging_spec.rb +10 -0
  299. data/spec/integration/pricing/v1/phone_number/country_spec.rb +128 -0
  300. data/spec/integration/pricing/v1/phone_number_spec.rb +10 -0
  301. data/spec/integration/pricing/v1/voice/country_spec.rb +266 -0
  302. data/spec/integration/pricing/v1/voice/number_spec.rb +54 -0
  303. data/spec/integration/pricing/v1/voice_spec.rb +10 -0
  304. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +236 -0
  305. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +157 -0
  306. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +192 -0
  307. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +127 -0
  308. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +106 -0
  309. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +144 -0
  310. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +292 -0
  311. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +324 -0
  312. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +192 -0
  313. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +201 -0
  314. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +107 -0
  315. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +141 -0
  316. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +282 -0
  317. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +69 -0
  318. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +265 -0
  319. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +103 -0
  320. data/spec/integration/taskrouter/v1/workspace_spec.rb +287 -0
  321. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +192 -0
  322. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +192 -0
  323. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +250 -0
  324. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +267 -0
  325. data/spec/integration/trunking/v1/trunk_spec.rb +276 -0
  326. data/spec/integration/video/v1/recording_spec.rb +165 -0
  327. data/spec/integration/video/v1/room/recording_spec.rb +146 -0
  328. data/spec/integration/video/v1/room_spec.rb +237 -0
  329. data/spec/jwt/access_token_spec.rb +130 -0
  330. data/spec/jwt/client_capability_spec.rb +104 -0
  331. data/spec/jwt/task_router_spec.rb +172 -0
  332. data/spec/rack/twilio_webhook_authentication_spec.rb +106 -0
  333. data/spec/security/request_validator_spec.rb +113 -0
  334. data/spec/spec_helper.rb +29 -3
  335. data/spec/support/fakeweb.rb +2 -0
  336. data/spec/twilio_spec.rb +15 -0
  337. data/spec/twiml/messaging_response_spec.rb +90 -0
  338. data/spec/twiml/voice_response_spec.rb +474 -0
  339. data/spec/util/configuration_spec.rb +15 -0
  340. data/spec/util/url_encode_spec.rb +2 -2
  341. data/twilio-ruby.gemspec +32 -26
  342. metadata +502 -152
  343. data/CHANGES +0 -47
  344. data/docs/Makefile +0 -130
  345. data/docs/_themes/LICENSE +0 -45
  346. data/docs/_themes/README.rst +0 -25
  347. data/docs/_themes/flask_theme_support.py +0 -86
  348. data/docs/_themes/kr/layout.html +0 -32
  349. data/docs/_themes/kr/relations.html +0 -19
  350. data/docs/_themes/kr/static/flasky.css_t +0 -469
  351. data/docs/_themes/kr/static/small_flask.css +0 -70
  352. data/docs/_themes/kr/theme.conf +0 -7
  353. data/docs/_themes/kr_small/layout.html +0 -22
  354. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  355. data/docs/_themes/kr_small/theme.conf +0 -10
  356. data/docs/changelog.rst +0 -1
  357. data/docs/conf.py +0 -266
  358. data/docs/faq.rst +0 -42
  359. data/docs/getting-started.rst +0 -91
  360. data/docs/index.rst +0 -109
  361. data/docs/make.bat +0 -170
  362. data/docs/src/pip-delete-this-directory.txt +0 -5
  363. data/docs/usage/accounts.rst +0 -89
  364. data/docs/usage/applications.rst +0 -108
  365. data/docs/usage/basics.rst +0 -102
  366. data/docs/usage/caller-ids.rst +0 -45
  367. data/docs/usage/conferences.rst +0 -108
  368. data/docs/usage/errors.rst +0 -29
  369. data/docs/usage/messages.rst +0 -109
  370. data/docs/usage/notifications.rst +0 -70
  371. data/docs/usage/phone-calls.rst +0 -166
  372. data/docs/usage/phone-numbers.rst +0 -174
  373. data/docs/usage/queues.rst +0 -112
  374. data/docs/usage/recordings.rst +0 -96
  375. data/docs/usage/sip.rst +0 -103
  376. data/docs/usage/token-generation.rst +0 -81
  377. data/docs/usage/transcriptions.rst +0 -31
  378. data/docs/usage/twiml.rst +0 -69
  379. data/docs/usage/validation.rst +0 -71
  380. data/lib/twilio-ruby/rest/applications.rb +0 -6
  381. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  382. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  383. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  384. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  385. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  386. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  387. data/lib/twilio-ruby/rest/calls.rb +0 -28
  388. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  389. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  390. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  391. data/lib/twilio-ruby/rest/errors.rb +0 -14
  392. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  393. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  394. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  395. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  396. data/lib/twilio-ruby/rest/instance_resource.rb +0 -101
  397. data/lib/twilio-ruby/rest/list_resource.rb +0 -110
  398. data/lib/twilio-ruby/rest/media.rb +0 -14
  399. data/lib/twilio-ruby/rest/messages.rb +0 -17
  400. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  401. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  402. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  403. data/lib/twilio-ruby/rest/queues.rb +0 -12
  404. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  405. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  406. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  407. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  408. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  409. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  410. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  411. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  412. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  413. data/lib/twilio-ruby/rest/sip.rb +0 -12
  414. data/lib/twilio-ruby/rest/sms/messages.rb +0 -15
  415. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  416. data/lib/twilio-ruby/rest/sms.rb +0 -11
  417. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  418. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  419. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  420. data/lib/twilio-ruby/rest/usage.rb +0 -10
  421. data/lib/twilio-ruby/rest/utils.rb +0 -25
  422. data/lib/twilio-ruby/twiml/response.rb +0 -15
  423. data/lib/twilio-ruby/util/capability.rb +0 -61
  424. data/lib/twilio-ruby/util/request_validator.rb +0 -22
  425. data/spec/rest/account_spec.rb +0 -58
  426. data/spec/rest/call_spec.rb +0 -18
  427. data/spec/rest/client_spec.rb +0 -100
  428. data/spec/rest/conference_spec.rb +0 -9
  429. data/spec/rest/instance_resource_spec.rb +0 -15
  430. data/spec/rest/message_spec.rb +0 -12
  431. data/spec/rest/numbers_spec.rb +0 -46
  432. data/spec/rest/queue_spec.rb +0 -9
  433. data/spec/rest/recording_spec.rb +0 -9
  434. data/spec/util/capability_spec.rb +0 -137
  435. data/spec/util/request_validator_spec.rb +0 -65
@@ -0,0 +1,1098 @@
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 AccountList < ListResource
12
+ ##
13
+ # Initialize the AccountList
14
+ # @param [Version] version Version that contains the resource
15
+ # @return [AccountList] AccountList
16
+ def initialize(version)
17
+ super(version)
18
+
19
+ # Path Solution
20
+ @solution = {}
21
+ @uri = "/Accounts.json"
22
+ end
23
+
24
+ ##
25
+ # Retrieve a single page of AccountInstance records from the API.
26
+ # Request is executed immediately.
27
+ # @param [String] friendly_name A human readable description of the account to
28
+ # create, defaults to `SubAccount Created at {YYYY-MM-DD HH:MM meridian}`
29
+ # @return [AccountInstance] Newly created AccountInstance
30
+ def create(friendly_name: :unset)
31
+ data = Twilio::Values.of({
32
+ 'FriendlyName' => friendly_name,
33
+ })
34
+
35
+ payload = @version.create(
36
+ 'POST',
37
+ @uri,
38
+ data: data
39
+ )
40
+
41
+ AccountInstance.new(
42
+ @version,
43
+ payload,
44
+ )
45
+ end
46
+
47
+ ##
48
+ # Lists AccountInstance records from the API as a list.
49
+ # Unlike stream(), this operation is eager and will load `limit` records into
50
+ # memory before returning.
51
+ # @param [String] friendly_name Filter accounts where the friendly name exactly
52
+ # matches the desired FriendlyName
53
+ # @param [account.Status] status Only show accounts with the given Status
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 [Array] Array of up to limit results
61
+ def list(friendly_name: :unset, status: :unset, limit: nil, page_size: nil)
62
+ self.stream(
63
+ friendly_name: friendly_name,
64
+ status: status,
65
+ limit: limit,
66
+ page_size: page_size
67
+ ).entries
68
+ end
69
+
70
+ ##
71
+ # Streams AccountInstance records from the API as an Enumerable.
72
+ # This operation lazily loads records as efficiently as possible until the limit
73
+ # is reached.
74
+ # @param [String] friendly_name Filter accounts where the friendly name exactly
75
+ # matches the desired FriendlyName
76
+ # @param [account.Status] status Only show accounts with the given Status
77
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
78
+ # guarantees to never return more than limit. Default is no limit
79
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
80
+ # the default value of 50 records. If no page_size is defined
81
+ # but a limit is defined, stream() will attempt to read the
82
+ # limit with the most efficient page size, i.e. min(limit, 1000)
83
+ # @return [Enumerable] Enumerable that will yield up to limit results
84
+ def stream(friendly_name: :unset, status: :unset, limit: nil, page_size: nil)
85
+ limits = @version.read_limits(limit, page_size)
86
+
87
+ page = self.page(
88
+ friendly_name: friendly_name,
89
+ status: status,
90
+ page_size: limits[:page_size],
91
+ )
92
+
93
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
94
+ end
95
+
96
+ ##
97
+ # When passed a block, yields AccountInstance records from the API.
98
+ # This operation lazily loads records as efficiently as possible until the limit
99
+ # is reached.
100
+ def each
101
+ limits = @version.read_limits
102
+
103
+ page = self.page(
104
+ page_size: limits[:page_size],
105
+ )
106
+
107
+ @version.stream(page,
108
+ limit: limits[:limit],
109
+ page_limit: limits[:page_limit]).each {|x| yield x}
110
+ end
111
+
112
+ ##
113
+ # Retrieve a single page of AccountInstance records from the API.
114
+ # Request is executed immediately.
115
+ # @param [String] friendly_name Filter accounts where the friendly name exactly
116
+ # matches the desired FriendlyName
117
+ # @param [account.Status] status Only show accounts with the given Status
118
+ # @param [String] page_token PageToken provided by the API
119
+ # @param [Integer] page_number Page Number, this value is simply for client state
120
+ # @param [Integer] page_size Number of records to return, defaults to 50
121
+ # @return [Page] Page of AccountInstance
122
+ def page(friendly_name: :unset, status: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
123
+ params = Twilio::Values.of({
124
+ 'FriendlyName' => friendly_name,
125
+ 'Status' => status,
126
+ 'PageToken' => page_token,
127
+ 'Page' => page_number,
128
+ 'PageSize' => page_size,
129
+ })
130
+ response = @version.page(
131
+ 'GET',
132
+ @uri,
133
+ params
134
+ )
135
+ AccountPage.new(@version, response, @solution)
136
+ end
137
+
138
+ ##
139
+ # Retrieve a single page of AccountInstance records from the API.
140
+ # Request is executed immediately.
141
+ # @param [String] target_url API-generated URL for the requested results page
142
+ # @return [Page] Page of AccountInstance
143
+ def get_page(target_url)
144
+ response = @version.domain.request(
145
+ 'GET',
146
+ target_url
147
+ )
148
+ AccountPage.new(@version, response, @solution)
149
+ end
150
+
151
+ ##
152
+ # Provide a user friendly representation
153
+ def to_s
154
+ '#<Twilio.Api.V2010.AccountList>'
155
+ end
156
+ end
157
+
158
+ class AccountPage < Page
159
+ ##
160
+ # Initialize the AccountPage
161
+ # @param [Version] version Version that contains the resource
162
+ # @param [Response] response Response from the API
163
+ # @param [Hash] solution Path solution for the resource
164
+ # @return [AccountPage] AccountPage
165
+ def initialize(version, response, solution)
166
+ super(version, response)
167
+
168
+ # Path Solution
169
+ @solution = solution
170
+ end
171
+
172
+ ##
173
+ # Build an instance of AccountInstance
174
+ # @param [Hash] payload Payload response from the API
175
+ # @return [AccountInstance] AccountInstance
176
+ def get_instance(payload)
177
+ AccountInstance.new(
178
+ @version,
179
+ payload,
180
+ )
181
+ end
182
+
183
+ ##
184
+ # Provide a user friendly representation
185
+ def to_s
186
+ '<Twilio.Api.V2010.AccountPage>'
187
+ end
188
+ end
189
+
190
+ class AccountContext < InstanceContext
191
+ ##
192
+ # Initialize the AccountContext
193
+ # @param [Version] version Version that contains the resource
194
+ # @param [String] sid The Account Sid that uniquely identifies the account to
195
+ # fetch
196
+ # @return [AccountContext] AccountContext
197
+ def initialize(version, sid)
198
+ super(version)
199
+
200
+ # Path Solution
201
+ @solution = {
202
+ sid: sid,
203
+ }
204
+ @uri = "/Accounts/#{@solution[:sid]}.json"
205
+
206
+ # Dependents
207
+ @addresses = nil
208
+ @applications = nil
209
+ @authorized_connect_apps = nil
210
+ @available_phone_numbers = nil
211
+ @calls = nil
212
+ @conferences = nil
213
+ @connect_apps = nil
214
+ @incoming_phone_numbers = nil
215
+ @keys = nil
216
+ @messages = nil
217
+ @new_keys = nil
218
+ @new_signing_keys = nil
219
+ @notifications = nil
220
+ @outgoing_caller_ids = nil
221
+ @queues = nil
222
+ @recordings = nil
223
+ @signing_keys = nil
224
+ @sip = nil
225
+ @short_codes = nil
226
+ @tokens = nil
227
+ @transcriptions = nil
228
+ @usage = nil
229
+ @validation_requests = nil
230
+ end
231
+
232
+ ##
233
+ # Fetch a AccountInstance
234
+ # @return [AccountInstance] Fetched AccountInstance
235
+ def fetch
236
+ params = Twilio::Values.of({})
237
+
238
+ payload = @version.fetch(
239
+ 'GET',
240
+ @uri,
241
+ params,
242
+ )
243
+
244
+ AccountInstance.new(
245
+ @version,
246
+ payload,
247
+ sid: @solution[:sid],
248
+ )
249
+ end
250
+
251
+ ##
252
+ # Update the AccountInstance
253
+ # @param [String] friendly_name Update the human-readable description of this
254
+ # Account
255
+ # @param [account.Status] status Alter the status of this account with a given
256
+ # Status
257
+ # @return [AccountInstance] Updated AccountInstance
258
+ def update(friendly_name: :unset, status: :unset)
259
+ data = Twilio::Values.of({
260
+ 'FriendlyName' => friendly_name,
261
+ 'Status' => status,
262
+ })
263
+
264
+ payload = @version.update(
265
+ 'POST',
266
+ @uri,
267
+ data: data,
268
+ )
269
+
270
+ AccountInstance.new(
271
+ @version,
272
+ payload,
273
+ sid: @solution[:sid],
274
+ )
275
+ end
276
+
277
+ ##
278
+ # Access the addresses
279
+ # @return [AddressList]
280
+ # @return [AddressContext] if sid was passed.
281
+ def addresses(sid=:unset)
282
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
283
+
284
+ if sid != :unset
285
+ return AddressContext.new(
286
+ @version,
287
+ @solution[:sid],
288
+ sid,
289
+ )
290
+ end
291
+
292
+ unless @addresses
293
+ @addresses = AddressList.new(
294
+ @version,
295
+ account_sid: @solution[:sid],
296
+ )
297
+ end
298
+
299
+ @addresses
300
+ end
301
+
302
+ ##
303
+ # Access the applications
304
+ # @return [ApplicationList]
305
+ # @return [ApplicationContext] if sid was passed.
306
+ def applications(sid=:unset)
307
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
308
+
309
+ if sid != :unset
310
+ return ApplicationContext.new(
311
+ @version,
312
+ @solution[:sid],
313
+ sid,
314
+ )
315
+ end
316
+
317
+ unless @applications
318
+ @applications = ApplicationList.new(
319
+ @version,
320
+ account_sid: @solution[:sid],
321
+ )
322
+ end
323
+
324
+ @applications
325
+ end
326
+
327
+ ##
328
+ # Access the authorized_connect_apps
329
+ # @return [AuthorizedConnectAppList]
330
+ # @return [AuthorizedConnectAppContext] if connect_app_sid was passed.
331
+ def authorized_connect_apps(connect_app_sid=:unset)
332
+ raise ArgumentError, 'connect_app_sid cannot be nil' if connect_app_sid.nil?
333
+
334
+ if connect_app_sid != :unset
335
+ return AuthorizedConnectAppContext.new(
336
+ @version,
337
+ @solution[:sid],
338
+ connect_app_sid,
339
+ )
340
+ end
341
+
342
+ unless @authorized_connect_apps
343
+ @authorized_connect_apps = AuthorizedConnectAppList.new(
344
+ @version,
345
+ account_sid: @solution[:sid],
346
+ )
347
+ end
348
+
349
+ @authorized_connect_apps
350
+ end
351
+
352
+ ##
353
+ # Access the available_phone_numbers
354
+ # @return [AvailablePhoneNumberCountryList]
355
+ # @return [AvailablePhoneNumberCountryContext] if country_code was passed.
356
+ def available_phone_numbers(country_code=:unset)
357
+ raise ArgumentError, 'country_code cannot be nil' if country_code.nil?
358
+
359
+ if country_code != :unset
360
+ return AvailablePhoneNumberCountryContext.new(
361
+ @version,
362
+ @solution[:sid],
363
+ country_code,
364
+ )
365
+ end
366
+
367
+ unless @available_phone_numbers
368
+ @available_phone_numbers = AvailablePhoneNumberCountryList.new(
369
+ @version,
370
+ account_sid: @solution[:sid],
371
+ )
372
+ end
373
+
374
+ @available_phone_numbers
375
+ end
376
+
377
+ ##
378
+ # Access the calls
379
+ # @return [CallList]
380
+ # @return [CallContext] if sid was passed.
381
+ def calls(sid=:unset)
382
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
383
+
384
+ if sid != :unset
385
+ return CallContext.new(
386
+ @version,
387
+ @solution[:sid],
388
+ sid,
389
+ )
390
+ end
391
+
392
+ unless @calls
393
+ @calls = CallList.new(
394
+ @version,
395
+ account_sid: @solution[:sid],
396
+ )
397
+ end
398
+
399
+ @calls
400
+ end
401
+
402
+ ##
403
+ # Access the conferences
404
+ # @return [ConferenceList]
405
+ # @return [ConferenceContext] if sid was passed.
406
+ def conferences(sid=:unset)
407
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
408
+
409
+ if sid != :unset
410
+ return ConferenceContext.new(
411
+ @version,
412
+ @solution[:sid],
413
+ sid,
414
+ )
415
+ end
416
+
417
+ unless @conferences
418
+ @conferences = ConferenceList.new(
419
+ @version,
420
+ account_sid: @solution[:sid],
421
+ )
422
+ end
423
+
424
+ @conferences
425
+ end
426
+
427
+ ##
428
+ # Access the connect_apps
429
+ # @return [ConnectAppList]
430
+ # @return [ConnectAppContext] if sid was passed.
431
+ def connect_apps(sid=:unset)
432
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
433
+
434
+ if sid != :unset
435
+ return ConnectAppContext.new(
436
+ @version,
437
+ @solution[:sid],
438
+ sid,
439
+ )
440
+ end
441
+
442
+ unless @connect_apps
443
+ @connect_apps = ConnectAppList.new(
444
+ @version,
445
+ account_sid: @solution[:sid],
446
+ )
447
+ end
448
+
449
+ @connect_apps
450
+ end
451
+
452
+ ##
453
+ # Access the incoming_phone_numbers
454
+ # @return [IncomingPhoneNumberList]
455
+ # @return [IncomingPhoneNumberContext] if sid was passed.
456
+ def incoming_phone_numbers(sid=:unset)
457
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
458
+
459
+ if sid != :unset
460
+ return IncomingPhoneNumberContext.new(
461
+ @version,
462
+ @solution[:sid],
463
+ sid,
464
+ )
465
+ end
466
+
467
+ unless @incoming_phone_numbers
468
+ @incoming_phone_numbers = IncomingPhoneNumberList.new(
469
+ @version,
470
+ account_sid: @solution[:sid],
471
+ )
472
+ end
473
+
474
+ @incoming_phone_numbers
475
+ end
476
+
477
+ ##
478
+ # Access the keys
479
+ # @return [KeyList]
480
+ # @return [KeyContext] if sid was passed.
481
+ def keys(sid=:unset)
482
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
483
+
484
+ if sid != :unset
485
+ return KeyContext.new(
486
+ @version,
487
+ @solution[:sid],
488
+ sid,
489
+ )
490
+ end
491
+
492
+ unless @keys
493
+ @keys = KeyList.new(
494
+ @version,
495
+ account_sid: @solution[:sid],
496
+ )
497
+ end
498
+
499
+ @keys
500
+ end
501
+
502
+ ##
503
+ # Access the messages
504
+ # @return [MessageList]
505
+ # @return [MessageContext] if sid was passed.
506
+ def messages(sid=:unset)
507
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
508
+
509
+ if sid != :unset
510
+ return MessageContext.new(
511
+ @version,
512
+ @solution[:sid],
513
+ sid,
514
+ )
515
+ end
516
+
517
+ unless @messages
518
+ @messages = MessageList.new(
519
+ @version,
520
+ account_sid: @solution[:sid],
521
+ )
522
+ end
523
+
524
+ @messages
525
+ end
526
+
527
+ ##
528
+ # Access the new_keys
529
+ # @return [NewKeyList]
530
+ # @return [NewKeyContext]
531
+ def new_keys
532
+ unless @new_keys
533
+ @new_keys = NewKeyList.new(
534
+ @version,
535
+ account_sid: @solution[:sid],
536
+ )
537
+ end
538
+
539
+ @new_keys
540
+ end
541
+
542
+ ##
543
+ # Access the new_signing_keys
544
+ # @return [NewSigningKeyList]
545
+ # @return [NewSigningKeyContext]
546
+ def new_signing_keys
547
+ unless @new_signing_keys
548
+ @new_signing_keys = NewSigningKeyList.new(
549
+ @version,
550
+ account_sid: @solution[:sid],
551
+ )
552
+ end
553
+
554
+ @new_signing_keys
555
+ end
556
+
557
+ ##
558
+ # Access the notifications
559
+ # @return [NotificationList]
560
+ # @return [NotificationContext] if sid was passed.
561
+ def notifications(sid=:unset)
562
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
563
+
564
+ if sid != :unset
565
+ return NotificationContext.new(
566
+ @version,
567
+ @solution[:sid],
568
+ sid,
569
+ )
570
+ end
571
+
572
+ unless @notifications
573
+ @notifications = NotificationList.new(
574
+ @version,
575
+ account_sid: @solution[:sid],
576
+ )
577
+ end
578
+
579
+ @notifications
580
+ end
581
+
582
+ ##
583
+ # Access the outgoing_caller_ids
584
+ # @return [OutgoingCallerIdList]
585
+ # @return [OutgoingCallerIdContext] if sid was passed.
586
+ def outgoing_caller_ids(sid=:unset)
587
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
588
+
589
+ if sid != :unset
590
+ return OutgoingCallerIdContext.new(
591
+ @version,
592
+ @solution[:sid],
593
+ sid,
594
+ )
595
+ end
596
+
597
+ unless @outgoing_caller_ids
598
+ @outgoing_caller_ids = OutgoingCallerIdList.new(
599
+ @version,
600
+ account_sid: @solution[:sid],
601
+ )
602
+ end
603
+
604
+ @outgoing_caller_ids
605
+ end
606
+
607
+ ##
608
+ # Access the queues
609
+ # @return [QueueList]
610
+ # @return [QueueContext] if sid was passed.
611
+ def queues(sid=:unset)
612
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
613
+
614
+ if sid != :unset
615
+ return QueueContext.new(
616
+ @version,
617
+ @solution[:sid],
618
+ sid,
619
+ )
620
+ end
621
+
622
+ unless @queues
623
+ @queues = QueueList.new(
624
+ @version,
625
+ account_sid: @solution[:sid],
626
+ )
627
+ end
628
+
629
+ @queues
630
+ end
631
+
632
+ ##
633
+ # Access the recordings
634
+ # @return [RecordingList]
635
+ # @return [RecordingContext] if sid was passed.
636
+ def recordings(sid=:unset)
637
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
638
+
639
+ if sid != :unset
640
+ return RecordingContext.new(
641
+ @version,
642
+ @solution[:sid],
643
+ sid,
644
+ )
645
+ end
646
+
647
+ unless @recordings
648
+ @recordings = RecordingList.new(
649
+ @version,
650
+ account_sid: @solution[:sid],
651
+ )
652
+ end
653
+
654
+ @recordings
655
+ end
656
+
657
+ ##
658
+ # Access the signing_keys
659
+ # @return [SigningKeyList]
660
+ # @return [SigningKeyContext] if sid was passed.
661
+ def signing_keys(sid=:unset)
662
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
663
+
664
+ if sid != :unset
665
+ return SigningKeyContext.new(
666
+ @version,
667
+ @solution[:sid],
668
+ sid,
669
+ )
670
+ end
671
+
672
+ unless @signing_keys
673
+ @signing_keys = SigningKeyList.new(
674
+ @version,
675
+ account_sid: @solution[:sid],
676
+ )
677
+ end
678
+
679
+ @signing_keys
680
+ end
681
+
682
+ ##
683
+ # Access the sip
684
+ # @return [SipList]
685
+ # @return [SipContext]
686
+ def sip
687
+ unless @sip
688
+ @sip = SipList.new(
689
+ @version,
690
+ account_sid: @solution[:sid],
691
+ )
692
+ end
693
+
694
+ @sip
695
+ end
696
+
697
+ ##
698
+ # Access the short_codes
699
+ # @return [ShortCodeList]
700
+ # @return [ShortCodeContext] if sid was passed.
701
+ def short_codes(sid=:unset)
702
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
703
+
704
+ if sid != :unset
705
+ return ShortCodeContext.new(
706
+ @version,
707
+ @solution[:sid],
708
+ sid,
709
+ )
710
+ end
711
+
712
+ unless @short_codes
713
+ @short_codes = ShortCodeList.new(
714
+ @version,
715
+ account_sid: @solution[:sid],
716
+ )
717
+ end
718
+
719
+ @short_codes
720
+ end
721
+
722
+ ##
723
+ # Access the tokens
724
+ # @return [TokenList]
725
+ # @return [TokenContext]
726
+ def tokens
727
+ unless @tokens
728
+ @tokens = TokenList.new(
729
+ @version,
730
+ account_sid: @solution[:sid],
731
+ )
732
+ end
733
+
734
+ @tokens
735
+ end
736
+
737
+ ##
738
+ # Access the transcriptions
739
+ # @return [TranscriptionList]
740
+ # @return [TranscriptionContext] if sid was passed.
741
+ def transcriptions(sid=:unset)
742
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
743
+
744
+ if sid != :unset
745
+ return TranscriptionContext.new(
746
+ @version,
747
+ @solution[:sid],
748
+ sid,
749
+ )
750
+ end
751
+
752
+ unless @transcriptions
753
+ @transcriptions = TranscriptionList.new(
754
+ @version,
755
+ account_sid: @solution[:sid],
756
+ )
757
+ end
758
+
759
+ @transcriptions
760
+ end
761
+
762
+ ##
763
+ # Access the usage
764
+ # @return [UsageList]
765
+ # @return [UsageContext]
766
+ def usage
767
+ unless @usage
768
+ @usage = UsageList.new(
769
+ @version,
770
+ account_sid: @solution[:sid],
771
+ )
772
+ end
773
+
774
+ @usage
775
+ end
776
+
777
+ ##
778
+ # Access the validation_requests
779
+ # @return [ValidationRequestList]
780
+ # @return [ValidationRequestContext]
781
+ def validation_requests
782
+ unless @validation_requests
783
+ @validation_requests = ValidationRequestList.new(
784
+ @version,
785
+ account_sid: @solution[:sid],
786
+ )
787
+ end
788
+
789
+ @validation_requests
790
+ end
791
+
792
+ ##
793
+ # Provide a user friendly representation
794
+ def to_s
795
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
796
+ "#<Twilio.Api.V2010.AccountContext #{context}>"
797
+ end
798
+ end
799
+
800
+ class AccountInstance < InstanceResource
801
+ ##
802
+ # Initialize the AccountInstance
803
+ # @param [Version] version Version that contains the resource
804
+ # @param [Hash] payload payload that contains response from Twilio
805
+ # @param [String] sid The Account Sid that uniquely identifies the account to
806
+ # fetch
807
+ # @return [AccountInstance] AccountInstance
808
+ def initialize(version, payload, sid: nil)
809
+ super(version)
810
+
811
+ # Marshaled Properties
812
+ @properties = {
813
+ 'auth_token' => payload['auth_token'],
814
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
815
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
816
+ 'friendly_name' => payload['friendly_name'],
817
+ 'owner_account_sid' => payload['owner_account_sid'],
818
+ 'sid' => payload['sid'],
819
+ 'status' => payload['status'],
820
+ 'subresource_uris' => payload['subresource_uris'],
821
+ 'type' => payload['type'],
822
+ 'uri' => payload['uri'],
823
+ }
824
+
825
+ # Context
826
+ @instance_context = nil
827
+ @params = {
828
+ 'sid' => sid || @properties['sid'],
829
+ }
830
+ end
831
+
832
+ ##
833
+ # Generate an instance context for the instance, the context is capable of
834
+ # performing various actions. All instance actions are proxied to the context
835
+ # @return [AccountContext] AccountContext for this AccountInstance
836
+ def context
837
+ unless @instance_context
838
+ @instance_context = AccountContext.new(
839
+ @version,
840
+ @params['sid'],
841
+ )
842
+ end
843
+ @instance_context
844
+ end
845
+
846
+ ##
847
+ # @return [String] The authorization token for this account
848
+ def auth_token
849
+ @properties['auth_token']
850
+ end
851
+
852
+ ##
853
+ # @return [Time] The date this account was created
854
+ def date_created
855
+ @properties['date_created']
856
+ end
857
+
858
+ ##
859
+ # @return [Time] The date this account was last updated
860
+ def date_updated
861
+ @properties['date_updated']
862
+ end
863
+
864
+ ##
865
+ # @return [String] A human readable description of this account
866
+ def friendly_name
867
+ @properties['friendly_name']
868
+ end
869
+
870
+ ##
871
+ # @return [String] The unique 34 character id representing the parent of this account
872
+ def owner_account_sid
873
+ @properties['owner_account_sid']
874
+ end
875
+
876
+ ##
877
+ # @return [String] A 34 character string that uniquely identifies this resource.
878
+ def sid
879
+ @properties['sid']
880
+ end
881
+
882
+ ##
883
+ # @return [account.Status] The status of this account
884
+ def status
885
+ @properties['status']
886
+ end
887
+
888
+ ##
889
+ # @return [String] Account Instance Subresources
890
+ def subresource_uris
891
+ @properties['subresource_uris']
892
+ end
893
+
894
+ ##
895
+ # @return [account.Type] The type of this account
896
+ def type
897
+ @properties['type']
898
+ end
899
+
900
+ ##
901
+ # @return [String] The URI for this resource, relative to `https://api.twilio.com`
902
+ def uri
903
+ @properties['uri']
904
+ end
905
+
906
+ ##
907
+ # Fetch a AccountInstance
908
+ # @return [AccountInstance] Fetched AccountInstance
909
+ def fetch
910
+ context.fetch
911
+ end
912
+
913
+ ##
914
+ # Update the AccountInstance
915
+ # @param [String] friendly_name Update the human-readable description of this
916
+ # Account
917
+ # @param [account.Status] status Alter the status of this account with a given
918
+ # Status
919
+ # @return [AccountInstance] Updated AccountInstance
920
+ def update(friendly_name: :unset, status: :unset)
921
+ context.update(
922
+ friendly_name: friendly_name,
923
+ status: status,
924
+ )
925
+ end
926
+
927
+ ##
928
+ # Access the addresses
929
+ # @return [addresses] addresses
930
+ def addresses
931
+ context.addresses
932
+ end
933
+
934
+ ##
935
+ # Access the applications
936
+ # @return [applications] applications
937
+ def applications
938
+ context.applications
939
+ end
940
+
941
+ ##
942
+ # Access the authorized_connect_apps
943
+ # @return [authorized_connect_apps] authorized_connect_apps
944
+ def authorized_connect_apps
945
+ context.authorized_connect_apps
946
+ end
947
+
948
+ ##
949
+ # Access the available_phone_numbers
950
+ # @return [available_phone_numbers] available_phone_numbers
951
+ def available_phone_numbers
952
+ context.available_phone_numbers
953
+ end
954
+
955
+ ##
956
+ # Access the calls
957
+ # @return [calls] calls
958
+ def calls
959
+ context.calls
960
+ end
961
+
962
+ ##
963
+ # Access the conferences
964
+ # @return [conferences] conferences
965
+ def conferences
966
+ context.conferences
967
+ end
968
+
969
+ ##
970
+ # Access the connect_apps
971
+ # @return [connect_apps] connect_apps
972
+ def connect_apps
973
+ context.connect_apps
974
+ end
975
+
976
+ ##
977
+ # Access the incoming_phone_numbers
978
+ # @return [incoming_phone_numbers] incoming_phone_numbers
979
+ def incoming_phone_numbers
980
+ context.incoming_phone_numbers
981
+ end
982
+
983
+ ##
984
+ # Access the keys
985
+ # @return [keys] keys
986
+ def keys
987
+ context.keys
988
+ end
989
+
990
+ ##
991
+ # Access the messages
992
+ # @return [messages] messages
993
+ def messages
994
+ context.messages
995
+ end
996
+
997
+ ##
998
+ # Access the new_keys
999
+ # @return [new_keys] new_keys
1000
+ def new_keys
1001
+ context.new_keys
1002
+ end
1003
+
1004
+ ##
1005
+ # Access the new_signing_keys
1006
+ # @return [new_signing_keys] new_signing_keys
1007
+ def new_signing_keys
1008
+ context.new_signing_keys
1009
+ end
1010
+
1011
+ ##
1012
+ # Access the notifications
1013
+ # @return [notifications] notifications
1014
+ def notifications
1015
+ context.notifications
1016
+ end
1017
+
1018
+ ##
1019
+ # Access the outgoing_caller_ids
1020
+ # @return [outgoing_caller_ids] outgoing_caller_ids
1021
+ def outgoing_caller_ids
1022
+ context.outgoing_caller_ids
1023
+ end
1024
+
1025
+ ##
1026
+ # Access the queues
1027
+ # @return [queues] queues
1028
+ def queues
1029
+ context.queues
1030
+ end
1031
+
1032
+ ##
1033
+ # Access the recordings
1034
+ # @return [recordings] recordings
1035
+ def recordings
1036
+ context.recordings
1037
+ end
1038
+
1039
+ ##
1040
+ # Access the signing_keys
1041
+ # @return [signing_keys] signing_keys
1042
+ def signing_keys
1043
+ context.signing_keys
1044
+ end
1045
+
1046
+ ##
1047
+ # Access the sip
1048
+ # @return [sip] sip
1049
+ def sip
1050
+ context.sip
1051
+ end
1052
+
1053
+ ##
1054
+ # Access the short_codes
1055
+ # @return [short_codes] short_codes
1056
+ def short_codes
1057
+ context.short_codes
1058
+ end
1059
+
1060
+ ##
1061
+ # Access the tokens
1062
+ # @return [tokens] tokens
1063
+ def tokens
1064
+ context.tokens
1065
+ end
1066
+
1067
+ ##
1068
+ # Access the transcriptions
1069
+ # @return [transcriptions] transcriptions
1070
+ def transcriptions
1071
+ context.transcriptions
1072
+ end
1073
+
1074
+ ##
1075
+ # Access the usage
1076
+ # @return [usage] usage
1077
+ def usage
1078
+ context.usage
1079
+ end
1080
+
1081
+ ##
1082
+ # Access the validation_requests
1083
+ # @return [validation_requests] validation_requests
1084
+ def validation_requests
1085
+ context.validation_requests
1086
+ end
1087
+
1088
+ ##
1089
+ # Provide a user friendly representation
1090
+ def to_s
1091
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
1092
+ "<Twilio.Api.V2010.AccountInstance #{values}>"
1093
+ end
1094
+ end
1095
+ end
1096
+ end
1097
+ end
1098
+ end