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