twilio-ruby 5.0.0.rc26 → 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 (328) 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/CHANGES.md +4 -0
  6. data/Gemfile +2 -2
  7. data/Makefile +8 -1
  8. data/Rakefile +3 -7
  9. data/examples/examples.rb +12 -10
  10. data/examples/{print-call-log.rb → print_call_log.rb} +4 -4
  11. data/lib/rack/twilio_webhook_authentication.rb +2 -3
  12. data/lib/twilio-ruby/framework/domain.rb +2 -6
  13. data/lib/twilio-ruby/framework/error.rb +0 -1
  14. data/lib/twilio-ruby/framework/helper.rb +1 -1
  15. data/lib/twilio-ruby/framework/page.rb +23 -25
  16. data/lib/twilio-ruby/framework/resource.rb +2 -2
  17. data/lib/twilio-ruby/framework/serialize.rb +5 -12
  18. data/lib/twilio-ruby/framework/twilio_response.rb +1 -1
  19. data/lib/twilio-ruby/framework/values.rb +2 -2
  20. data/lib/twilio-ruby/framework/version.rb +19 -37
  21. data/lib/twilio-ruby/http/http_client.rb +5 -6
  22. data/lib/twilio-ruby/jwt/access_token.rb +27 -41
  23. data/lib/twilio-ruby/jwt/client_capability.rb +11 -16
  24. data/lib/twilio-ruby/jwt/jwt.rb +7 -13
  25. data/lib/twilio-ruby/jwt/task_router.rb +40 -38
  26. data/lib/twilio-ruby/rest/accounts.rb +2 -0
  27. data/lib/twilio-ruby/rest/accounts/v1.rb +2 -0
  28. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +2 -2
  29. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +12 -7
  30. data/lib/twilio-ruby/rest/api.rb +96 -0
  31. data/lib/twilio-ruby/rest/api/v2010.rb +5 -0
  32. data/lib/twilio-ruby/rest/api/v2010/account.rb +66 -56
  33. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +30 -13
  34. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +22 -8
  35. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +40 -11
  36. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +20 -9
  37. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +16 -15
  38. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +26 -28
  39. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +26 -28
  40. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +26 -28
  41. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +64 -34
  42. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +12 -4
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +28 -3
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +37 -16
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +25 -15
  46. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +28 -27
  47. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +28 -19
  48. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +22 -9
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +62 -58
  50. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +52 -12
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +52 -12
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +52 -12
  53. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +8 -9
  54. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +47 -20
  55. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +12 -2
  56. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +17 -17
  57. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +10 -2
  58. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +10 -2
  59. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +37 -16
  60. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +14 -13
  61. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +20 -10
  62. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +10 -10
  63. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +37 -21
  64. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +22 -13
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +22 -13
  66. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +26 -9
  67. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +24 -13
  68. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +8 -9
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +8 -10
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +16 -11
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +14 -9
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +36 -13
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +14 -10
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +14 -10
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +16 -11
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +16 -9
  77. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +14 -2
  78. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +26 -9
  79. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +4 -6
  80. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +44 -33
  81. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +28 -11
  82. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +28 -11
  83. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +28 -11
  84. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +28 -11
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +28 -11
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +28 -11
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +28 -11
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +28 -11
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +32 -15
  90. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +10 -1
  91. data/lib/twilio-ruby/rest/chat.rb +8 -0
  92. data/lib/twilio-ruby/rest/chat/v1.rb +8 -0
  93. data/lib/twilio-ruby/rest/chat/v1/credential.rb +16 -7
  94. data/lib/twilio-ruby/rest/chat/v1/service.rb +48 -13
  95. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +34 -15
  96. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +20 -10
  97. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +22 -10
  98. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +26 -10
  99. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +18 -8
  100. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +30 -10
  101. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +16 -8
  102. data/lib/twilio-ruby/rest/chat/v2.rb +8 -0
  103. data/lib/twilio-ruby/rest/chat/v2/credential.rb +16 -7
  104. data/lib/twilio-ruby/rest/chat/v2/service.rb +46 -13
  105. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +34 -15
  106. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +20 -10
  107. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +22 -10
  108. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +26 -10
  109. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +18 -8
  110. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +30 -10
  111. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +16 -8
  112. data/lib/twilio-ruby/rest/client.rb +94 -45
  113. data/lib/twilio-ruby/rest/ip_messaging.rb +8 -0
  114. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +8 -0
  115. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +16 -7
  116. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +48 -13
  117. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +34 -15
  118. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +20 -10
  119. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +22 -10
  120. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +26 -10
  121. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +18 -8
  122. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +30 -10
  123. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +16 -8
  124. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +8 -0
  125. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +16 -7
  126. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +46 -13
  127. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +34 -15
  128. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +20 -10
  129. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +22 -10
  130. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +26 -10
  131. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +18 -8
  132. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +30 -10
  133. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +16 -8
  134. data/lib/twilio-ruby/rest/lookups.rb +4 -0
  135. data/lib/twilio-ruby/rest/lookups/v1.rb +9 -5
  136. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +14 -1
  137. data/lib/twilio-ruby/rest/monitor.rb +8 -0
  138. data/lib/twilio-ruby/rest/monitor/v1.rb +8 -0
  139. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +34 -10
  140. data/lib/twilio-ruby/rest/monitor/v1/event.rb +28 -13
  141. data/lib/twilio-ruby/rest/pricing.rb +6 -0
  142. data/lib/twilio-ruby/rest/pricing/v1.rb +6 -0
  143. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +8 -2
  144. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +12 -7
  145. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +8 -2
  146. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +10 -7
  147. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +10 -4
  148. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +12 -7
  149. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +14 -1
  150. data/lib/twilio-ruby/rest/taskrouter.rb +4 -0
  151. data/lib/twilio-ruby/rest/taskrouter/v1.rb +4 -0
  152. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +46 -24
  153. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +16 -10
  154. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +30 -17
  155. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +42 -19
  156. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +22 -10
  157. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +16 -8
  158. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +34 -15
  159. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +12 -3
  160. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +10 -11
  161. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +34 -23
  162. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +22 -10
  163. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +28 -9
  164. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +10 -3
  165. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +10 -2
  166. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +28 -11
  167. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +12 -3
  168. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +10 -2
  169. data/lib/twilio-ruby/rest/trunking.rb +4 -0
  170. data/lib/twilio-ruby/rest/trunking/v1.rb +4 -0
  171. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +36 -15
  172. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +14 -8
  173. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +14 -8
  174. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +22 -8
  175. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +52 -8
  176. data/lib/twilio-ruby/rest/video.rb +8 -0
  177. data/lib/twilio-ruby/rest/video/v1.rb +8 -0
  178. data/lib/twilio-ruby/rest/video/v1/recording.rb +26 -12
  179. data/lib/twilio-ruby/rest/video/v1/room.rb +34 -13
  180. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +28 -12
  181. data/lib/twilio-ruby/security/request_validator.rb +1 -2
  182. data/lib/twilio-ruby/twiml/messaging_response.rb +7 -19
  183. data/lib/twilio-ruby/twiml/twiml.rb +8 -14
  184. data/lib/twilio-ruby/twiml/voice_response.rb +157 -169
  185. data/lib/twilio-ruby/util.rb +1 -1
  186. data/lib/twilio-ruby/version.rb +1 -1
  187. data/spec/framework/serialize_spec.rb +17 -30
  188. data/spec/holodeck/holodeck.rb +6 -6
  189. data/spec/jwt/access_token_spec.rb +0 -6
  190. data/spec/jwt/client_capability_spec.rb +3 -3
  191. data/spec/jwt/task_router_spec.rb +16 -21
  192. data/spec/rack/twilio_webhook_authentication_spec.rb +12 -16
  193. data/spec/spec_helper.rb +2 -2
  194. data/spec/support/fakeweb.rb +1 -1
  195. data/spec/twiml/voice_response_spec.rb +33 -20
  196. data/twilio-ruby.gemspec +7 -3
  197. metadata +21 -193
  198. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +0 -420
  199. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +0 -345
  200. data/lib/twilio-ruby/rest/fax.rb +0 -40
  201. data/lib/twilio-ruby/rest/fax/v1.rb +0 -37
  202. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -520
  203. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -321
  204. data/lib/twilio-ruby/rest/messaging.rb +0 -40
  205. data/lib/twilio-ruby/rest/messaging/v1.rb +0 -37
  206. data/lib/twilio-ruby/rest/messaging/v1/service.rb +0 -604
  207. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +0 -344
  208. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +0 -349
  209. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +0 -349
  210. data/lib/twilio-ruby/rest/notify.rb +0 -44
  211. data/lib/twilio-ruby/rest/notify/v1.rb +0 -48
  212. data/lib/twilio-ruby/rest/notify/v1/credential.rb +0 -394
  213. data/lib/twilio-ruby/rest/notify/v1/service.rb +0 -611
  214. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +0 -414
  215. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +0 -249
  216. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +0 -219
  217. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +0 -437
  218. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +0 -247
  219. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +0 -418
  220. data/lib/twilio-ruby/rest/preview.rb +0 -107
  221. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -48
  222. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -198
  223. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -209
  224. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -232
  225. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +0 -37
  226. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +0 -539
  227. data/lib/twilio-ruby/rest/preview/marketplace.rb +0 -48
  228. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +0 -326
  229. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +0 -297
  230. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +0 -427
  231. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +0 -335
  232. data/lib/twilio-ruby/rest/preview/proxy.rb +0 -37
  233. data/lib/twilio-ruby/rest/preview/proxy/service.rb +0 -489
  234. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +0 -349
  235. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +0 -525
  236. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +0 -406
  237. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +0 -495
  238. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +0 -422
  239. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +0 -349
  240. data/lib/twilio-ruby/rest/preview/sync.rb +0 -37
  241. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -491
  242. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -431
  243. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -390
  244. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -426
  245. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -422
  246. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -390
  247. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -426
  248. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -424
  249. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -390
  250. data/lib/twilio-ruby/rest/preview/wireless.rb +0 -59
  251. data/lib/twilio-ruby/rest/preview/wireless/command.rb +0 -371
  252. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +0 -414
  253. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +0 -512
  254. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +0 -220
  255. data/lib/twilio-ruby/rest/sync.rb +0 -40
  256. data/lib/twilio-ruby/rest/sync/v1.rb +0 -37
  257. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -491
  258. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +0 -431
  259. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -390
  260. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +0 -426
  261. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +0 -422
  262. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -390
  263. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +0 -426
  264. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +0 -424
  265. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +0 -390
  266. data/lib/twilio-ruby/rest/wireless.rb +0 -48
  267. data/lib/twilio-ruby/rest/wireless/v1.rb +0 -59
  268. data/lib/twilio-ruby/rest/wireless/v1/command.rb +0 -357
  269. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +0 -427
  270. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +0 -516
  271. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +0 -235
  272. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  273. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  274. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -126
  275. data/spec/integration/fax/v1/fax_spec.rb +0 -272
  276. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  277. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  278. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  279. data/spec/integration/messaging/v1/service_spec.rb +0 -263
  280. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  281. data/spec/integration/notify/v1/service/binding_spec.rb +0 -227
  282. data/spec/integration/notify/v1/service/notification_spec.rb +0 -97
  283. data/spec/integration/notify/v1/service/segment_spec.rb +0 -84
  284. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +0 -118
  285. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +0 -269
  286. data/spec/integration/notify/v1/service/user_spec.rb +0 -213
  287. data/spec/integration/notify/v1/service_spec.rb +0 -280
  288. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -56
  289. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  290. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -43
  291. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -276
  292. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  293. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  294. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  295. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -252
  296. data/spec/integration/preview/proxy/service/phone_number_spec.rb +0 -173
  297. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +0 -104
  298. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +0 -164
  299. data/spec/integration/preview/proxy/service/session/participant_spec.rb +0 -226
  300. data/spec/integration/preview/proxy/service/session_spec.rb +0 -216
  301. data/spec/integration/preview/proxy/service/short_code_spec.rb +0 -173
  302. data/spec/integration/preview/proxy/service_spec.rb +0 -200
  303. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -206
  304. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  305. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -256
  306. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -206
  307. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -207
  308. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -257
  309. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -206
  310. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -207
  311. data/spec/integration/preview/sync/service_spec.rb +0 -244
  312. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  313. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -260
  314. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -49
  315. data/spec/integration/preview/wireless/sim_spec.rb +0 -208
  316. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -206
  317. data/spec/integration/sync/v1/service/document_spec.rb +0 -254
  318. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -256
  319. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -206
  320. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -207
  321. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  322. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -206
  323. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -207
  324. data/spec/integration/sync/v1/service_spec.rb +0 -244
  325. data/spec/integration/wireless/v1/command_spec.rb +0 -166
  326. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -268
  327. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -65
  328. data/spec/integration/wireless/v1/sim_spec.rb +0 -208
@@ -1,431 +0,0 @@
1
- ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
6
-
7
- module Twilio
8
- module REST
9
- class Preview < Domain
10
- class Sync < Version
11
- class ServiceContext < InstanceContext
12
- class DocumentList < ListResource
13
- ##
14
- # Initialize the DocumentList
15
- # @param [Version] version Version that contains the resource
16
- # @param [String] service_sid The service_sid
17
- # @return [DocumentList] DocumentList
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]}/Documents"
26
- end
27
-
28
- ##
29
- # Retrieve a single page of DocumentInstance records from the API.
30
- # Request is executed immediately.
31
- # @param [String] unique_name The unique_name
32
- # @param [Hash] data The data
33
- # @return [DocumentInstance] Newly created DocumentInstance
34
- def create(unique_name: :unset, data: :unset)
35
- data = Twilio::Values.of({
36
- 'UniqueName' => unique_name,
37
- 'Data' => Twilio.serialize_object(data),
38
- })
39
-
40
- payload = @version.create(
41
- 'POST',
42
- @uri,
43
- data: data
44
- )
45
-
46
- DocumentInstance.new(
47
- @version,
48
- payload,
49
- service_sid: @solution[:service_sid],
50
- )
51
- end
52
-
53
- ##
54
- # Lists DocumentInstance records from the API as a list.
55
- # Unlike stream(), this operation is eager and will load `limit` records into
56
- # memory before returning.
57
- # @param [Integer] limit Upper limit for the number of records to return. stream()
58
- # guarantees to never return more than limit. Default is no limit
59
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
60
- # the default value of 50 records. If no page_size is defined
61
- # but a limit is defined, stream() will attempt to read the
62
- # limit with the most efficient page size, i.e. min(limit, 1000)
63
- # @return [Array] Array of up to limit results
64
- def list(limit: nil, page_size: nil)
65
- self.stream(
66
- limit: limit,
67
- page_size: page_size
68
- ).entries
69
- end
70
-
71
- ##
72
- # Streams DocumentInstance records from the API as an Enumerable.
73
- # This operation lazily loads records as efficiently as possible until the limit
74
- # is reached.
75
- # @param [Integer] limit Upper limit for the number of records to return. stream()
76
- # guarantees to never return more than limit. Default is no limit
77
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
78
- # the default value of 50 records. If no page_size is defined
79
- # but a limit is defined, stream() will attempt to read the
80
- # limit with the most efficient page size, i.e. min(limit, 1000)
81
- # @return [Enumerable] Enumerable that will yield up to limit results
82
- def stream(limit: nil, page_size: nil)
83
- limits = @version.read_limits(limit, page_size)
84
-
85
- page = self.page(
86
- page_size: limits[:page_size],
87
- )
88
-
89
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
90
- end
91
-
92
- ##
93
- # When passed a block, yields DocumentInstance records from the API.
94
- # This operation lazily loads records as efficiently as possible until the limit
95
- # is reached.
96
- # @param [Integer] limit Upper limit for the number of records to return. stream()
97
- # guarantees to never return more than limit. Default is no limit
98
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
99
- # the default value of 50 records. If no page_size is defined
100
- # but a limit is defined, stream() will attempt to read the
101
- # limit with the most efficient page size, i.e. min(limit, 1000)
102
- def each
103
- limits = @version.read_limits
104
-
105
- page = self.page(
106
- page_size: limits[:page_size],
107
- )
108
-
109
- @version.stream(page,
110
- limit: limits[:limit],
111
- page_limit: limits[:page_limit]).each {|x| yield x}
112
- end
113
-
114
- ##
115
- # Retrieve a single page of DocumentInstance records from the API.
116
- # Request is executed immediately.
117
- # @param [String] page_token PageToken provided by the API
118
- # @param [Integer] page_number Page Number, this value is simply for client state
119
- # @param [Integer] page_size Number of records to return, defaults to 50
120
- # @return [Page] Page of DocumentInstance
121
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
122
- params = Twilio::Values.of({
123
- 'PageToken' => page_token,
124
- 'Page' => page_number,
125
- 'PageSize' => page_size,
126
- })
127
- response = @version.page(
128
- 'GET',
129
- @uri,
130
- params
131
- )
132
- DocumentPage.new(@version, response, @solution)
133
- end
134
-
135
- ##
136
- # Retrieve a single page of DocumentInstance records from the API.
137
- # Request is executed immediately.
138
- # @param [String] target_url API-generated URL for the requested results page
139
- # @return [Page] Page of DocumentInstance
140
- def get_page(target_url)
141
- response = @version.domain.request(
142
- 'GET',
143
- target_url
144
- )
145
- DocumentPage.new(@version, response, @solution)
146
- end
147
-
148
- ##
149
- # Provide a user friendly representation
150
- def to_s
151
- '#<Twilio.Preview.Sync.DocumentList>'
152
- end
153
- end
154
-
155
- class DocumentPage < Page
156
- ##
157
- # Initialize the DocumentPage
158
- # @param [Version] version Version that contains the resource
159
- # @param [Response] response Response from the API
160
- # @param [Hash] solution Path solution for the resource
161
- # @param [String] service_sid The service_sid
162
- # @return [DocumentPage] DocumentPage
163
- def initialize(version, response, solution)
164
- super(version, response)
165
-
166
- # Path Solution
167
- @solution = solution
168
- end
169
-
170
- ##
171
- # Build an instance of DocumentInstance
172
- # @param [Hash] payload Payload response from the API
173
- # @return [DocumentInstance] DocumentInstance
174
- def get_instance(payload)
175
- DocumentInstance.new(
176
- @version,
177
- payload,
178
- service_sid: @solution[:service_sid],
179
- )
180
- end
181
-
182
- ##
183
- # Provide a user friendly representation
184
- def to_s
185
- '<Twilio.Preview.Sync.DocumentPage>'
186
- end
187
- end
188
-
189
- class DocumentContext < InstanceContext
190
- ##
191
- # Initialize the DocumentContext
192
- # @param [Version] version Version that contains the resource
193
- # @param [String] service_sid The service_sid
194
- # @param [String] sid The sid
195
- # @return [DocumentContext] DocumentContext
196
- def initialize(version, service_sid, sid)
197
- super(version)
198
-
199
- # Path Solution
200
- @solution = {
201
- service_sid: service_sid,
202
- sid: sid,
203
- }
204
- @uri = "/Services/#{@solution[:service_sid]}/Documents/#{@solution[:sid]}"
205
-
206
- # Dependents
207
- @document_permissions = nil
208
- end
209
-
210
- ##
211
- # Fetch a DocumentInstance
212
- # @return [DocumentInstance] Fetched DocumentInstance
213
- def fetch
214
- params = Twilio::Values.of({})
215
-
216
- payload = @version.fetch(
217
- 'GET',
218
- @uri,
219
- params,
220
- )
221
-
222
- DocumentInstance.new(
223
- @version,
224
- payload,
225
- service_sid: @solution[:service_sid],
226
- sid: @solution[:sid],
227
- )
228
- end
229
-
230
- ##
231
- # Deletes the DocumentInstance
232
- # @return [Boolean] true if delete succeeds, true otherwise
233
- def delete
234
- @version.delete('delete', @uri)
235
- end
236
-
237
- ##
238
- # Update the DocumentInstance
239
- # @param [Hash] data The data
240
- # @return [DocumentInstance] Updated DocumentInstance
241
- def update(data: nil)
242
- data = Twilio::Values.of({
243
- 'Data' => Twilio.serialize_object(data),
244
- })
245
-
246
- payload = @version.update(
247
- 'POST',
248
- @uri,
249
- data: data,
250
- )
251
-
252
- DocumentInstance.new(
253
- @version,
254
- payload,
255
- service_sid: @solution[:service_sid],
256
- sid: @solution[:sid],
257
- )
258
- end
259
-
260
- ##
261
- # Access the document_permissions
262
- # @return [DocumentPermissionList] if a(n) DocumentPermissionList object was created.
263
- # @return [DocumentPermissionContext] if a(n) DocumentPermissionContext object was created.
264
- def document_permissions(identity=:unset)
265
- raise ArgumentError, 'identity cannot be nil' if identity.nil?
266
-
267
- if identity != :unset
268
- return DocumentPermissionContext.new(
269
- @version,
270
- @solution[:service_sid],
271
- @solution[:sid],
272
- identity,
273
- )
274
- end
275
-
276
- unless @document_permissions
277
- @document_permissions = DocumentPermissionList.new(
278
- @version,
279
- service_sid: @solution[:service_sid],
280
- document_sid: @solution[:sid],
281
- )
282
- end
283
-
284
- @document_permissions
285
- end
286
-
287
- ##
288
- # Provide a user friendly representation
289
- def to_s
290
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
291
- "#<Twilio.Preview.Sync.DocumentContext #{context}>"
292
- end
293
- end
294
-
295
- class DocumentInstance < InstanceResource
296
- ##
297
- # Initialize the DocumentInstance
298
- # @param [Version] version Version that contains the resource
299
- # @param [Hash] payload payload that contains response from Twilio
300
- # @param [String] service_sid The service_sid
301
- # @param [String] sid The sid
302
- # @return [DocumentInstance] DocumentInstance
303
- def initialize(version, payload, service_sid: nil, sid: nil)
304
- super(version)
305
-
306
- # Marshaled Properties
307
- @properties = {
308
- 'sid' => payload['sid'],
309
- 'unique_name' => payload['unique_name'],
310
- 'account_sid' => payload['account_sid'],
311
- 'service_sid' => payload['service_sid'],
312
- 'url' => payload['url'],
313
- 'links' => payload['links'],
314
- 'revision' => payload['revision'],
315
- 'data' => payload['data'],
316
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
317
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
318
- 'created_by' => payload['created_by'],
319
- }
320
-
321
- # Context
322
- @instance_context = nil
323
- @params = {
324
- 'service_sid' => service_sid,
325
- 'sid' => sid || @properties['sid'],
326
- }
327
- end
328
-
329
- ##
330
- # Generate an instance context for the instance, the context is capable of
331
- # performing various actions. All instance actions are proxied to the context
332
- # @param [Version] version Version that contains the resource
333
- # @return [DocumentContext] DocumentContext for this DocumentInstance
334
- def context
335
- unless @instance_context
336
- @instance_context = DocumentContext.new(
337
- @version,
338
- @params['service_sid'],
339
- @params['sid'],
340
- )
341
- end
342
- @instance_context
343
- end
344
-
345
- def sid
346
- @properties['sid']
347
- end
348
-
349
- def unique_name
350
- @properties['unique_name']
351
- end
352
-
353
- def account_sid
354
- @properties['account_sid']
355
- end
356
-
357
- def service_sid
358
- @properties['service_sid']
359
- end
360
-
361
- def url
362
- @properties['url']
363
- end
364
-
365
- def links
366
- @properties['links']
367
- end
368
-
369
- def revision
370
- @properties['revision']
371
- end
372
-
373
- def data
374
- @properties['data']
375
- end
376
-
377
- def date_created
378
- @properties['date_created']
379
- end
380
-
381
- def date_updated
382
- @properties['date_updated']
383
- end
384
-
385
- def created_by
386
- @properties['created_by']
387
- end
388
-
389
- ##
390
- # Fetch a DocumentInstance
391
- # @return [DocumentInstance] Fetched DocumentInstance
392
- def fetch
393
- context.fetch
394
- end
395
-
396
- ##
397
- # Deletes the DocumentInstance
398
- # @return [Boolean] true if delete succeeds, true otherwise
399
- def delete
400
- context.delete
401
- end
402
-
403
- ##
404
- # Update the DocumentInstance
405
- # @param [Hash] data The data
406
- # @return [DocumentInstance] Updated DocumentInstance
407
- def update(data: nil)
408
- context.update(
409
- data: data,
410
- )
411
- end
412
-
413
- ##
414
- # Access the document_permissions
415
- # @return [document_permissions] document_permissions
416
- def document_permissions
417
- context.document_permissions
418
- end
419
-
420
- ##
421
- # Provide a user friendly representation
422
- def to_s
423
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
424
- "<Twilio.Preview.Sync.DocumentInstance #{values}>"
425
- end
426
- end
427
- end
428
- end
429
- end
430
- end
431
- end
@@ -1,390 +0,0 @@
1
- ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
6
-
7
- module Twilio
8
- module REST
9
- class Preview < Domain
10
- class Sync < Version
11
- class ServiceContext < InstanceContext
12
- class DocumentContext < InstanceContext
13
- class DocumentPermissionList < ListResource
14
- ##
15
- # Initialize the DocumentPermissionList
16
- # @param [Version] version Version that contains the resource
17
- # @param [String] service_sid The unique SID identifier of the Sync Service
18
- # Instance.
19
- # @param [String] document_sid The unique SID identifier of the Sync Document to
20
- # which the Permission applies.
21
- # @return [DocumentPermissionList] DocumentPermissionList
22
- def initialize(version, service_sid: nil, document_sid: nil)
23
- super(version)
24
-
25
- # Path Solution
26
- @solution = {
27
- service_sid: service_sid,
28
- document_sid: document_sid
29
- }
30
- @uri = "/Services/#{@solution[:service_sid]}/Documents/#{@solution[:document_sid]}/Permissions"
31
- end
32
-
33
- ##
34
- # Lists DocumentPermissionInstance records from the API as a list.
35
- # Unlike stream(), this operation is eager and will load `limit` records into
36
- # memory before returning.
37
- # @param [Integer] limit Upper limit for the number of records to return. stream()
38
- # guarantees to never return more than limit. Default is no limit
39
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
40
- # the default value of 50 records. If no page_size is defined
41
- # but a limit is defined, stream() will attempt to read the
42
- # limit with the most efficient page size, i.e. min(limit, 1000)
43
- # @return [Array] Array of up to limit results
44
- def list(limit: nil, page_size: nil)
45
- self.stream(
46
- limit: limit,
47
- page_size: page_size
48
- ).entries
49
- end
50
-
51
- ##
52
- # Streams DocumentPermissionInstance records from the API as an Enumerable.
53
- # This operation lazily loads records as efficiently as possible until the limit
54
- # is reached.
55
- # @param [Integer] limit Upper limit for the number of records to return. stream()
56
- # guarantees to never return more than limit. Default is no limit
57
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
58
- # the default value of 50 records. If no page_size is defined
59
- # but a limit is defined, stream() will attempt to read the
60
- # limit with the most efficient page size, i.e. min(limit, 1000)
61
- # @return [Enumerable] Enumerable that will yield up to limit results
62
- def stream(limit: nil, page_size: nil)
63
- limits = @version.read_limits(limit, page_size)
64
-
65
- page = self.page(
66
- page_size: limits[:page_size],
67
- )
68
-
69
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
70
- end
71
-
72
- ##
73
- # When passed a block, yields DocumentPermissionInstance records from the API.
74
- # This operation lazily loads records as efficiently as possible until the limit
75
- # is reached.
76
- # @param [Integer] limit Upper limit for the number of records to return. stream()
77
- # guarantees to never return more than limit. Default is no limit
78
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
79
- # the default value of 50 records. If no page_size is defined
80
- # but a limit is defined, stream() will attempt to read the
81
- # limit with the most efficient page size, i.e. min(limit, 1000)
82
- def each
83
- limits = @version.read_limits
84
-
85
- page = self.page(
86
- page_size: limits[:page_size],
87
- )
88
-
89
- @version.stream(page,
90
- limit: limits[:limit],
91
- page_limit: limits[:page_limit]).each {|x| yield x}
92
- end
93
-
94
- ##
95
- # Retrieve a single page of DocumentPermissionInstance records from the API.
96
- # Request is executed immediately.
97
- # @param [String] page_token PageToken provided by the API
98
- # @param [Integer] page_number Page Number, this value is simply for client state
99
- # @param [Integer] page_size Number of records to return, defaults to 50
100
- # @return [Page] Page of DocumentPermissionInstance
101
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
102
- params = Twilio::Values.of({
103
- 'PageToken' => page_token,
104
- 'Page' => page_number,
105
- 'PageSize' => page_size,
106
- })
107
- response = @version.page(
108
- 'GET',
109
- @uri,
110
- params
111
- )
112
- DocumentPermissionPage.new(@version, response, @solution)
113
- end
114
-
115
- ##
116
- # Retrieve a single page of DocumentPermissionInstance records from the API.
117
- # Request is executed immediately.
118
- # @param [String] target_url API-generated URL for the requested results page
119
- # @return [Page] Page of DocumentPermissionInstance
120
- def get_page(target_url)
121
- response = @version.domain.request(
122
- 'GET',
123
- target_url
124
- )
125
- DocumentPermissionPage.new(@version, response, @solution)
126
- end
127
-
128
- ##
129
- # Provide a user friendly representation
130
- def to_s
131
- '#<Twilio.Preview.Sync.DocumentPermissionList>'
132
- end
133
- end
134
-
135
- class DocumentPermissionPage < Page
136
- ##
137
- # Initialize the DocumentPermissionPage
138
- # @param [Version] version Version that contains the resource
139
- # @param [Response] response Response from the API
140
- # @param [Hash] solution Path solution for the resource
141
- # @param [String] service_sid The unique SID identifier of the Sync Service
142
- # Instance.
143
- # @param [String] document_sid The unique SID identifier of the Sync Document to
144
- # which the Permission applies.
145
- # @return [DocumentPermissionPage] DocumentPermissionPage
146
- def initialize(version, response, solution)
147
- super(version, response)
148
-
149
- # Path Solution
150
- @solution = solution
151
- end
152
-
153
- ##
154
- # Build an instance of DocumentPermissionInstance
155
- # @param [Hash] payload Payload response from the API
156
- # @return [DocumentPermissionInstance] DocumentPermissionInstance
157
- def get_instance(payload)
158
- DocumentPermissionInstance.new(
159
- @version,
160
- payload,
161
- service_sid: @solution[:service_sid],
162
- document_sid: @solution[:document_sid],
163
- )
164
- end
165
-
166
- ##
167
- # Provide a user friendly representation
168
- def to_s
169
- '<Twilio.Preview.Sync.DocumentPermissionPage>'
170
- end
171
- end
172
-
173
- class DocumentPermissionContext < InstanceContext
174
- ##
175
- # Initialize the DocumentPermissionContext
176
- # @param [Version] version Version that contains the resource
177
- # @param [String] service_sid The service_sid
178
- # @param [String] document_sid Identifier of the Sync Document. Either a SID or a
179
- # unique name.
180
- # @param [String] identity Arbitrary string identifier representing a user
181
- # associated with an FPA token, assigned by the developer.
182
- # @return [DocumentPermissionContext] DocumentPermissionContext
183
- def initialize(version, service_sid, document_sid, identity)
184
- super(version)
185
-
186
- # Path Solution
187
- @solution = {
188
- service_sid: service_sid,
189
- document_sid: document_sid,
190
- identity: identity,
191
- }
192
- @uri = "/Services/#{@solution[:service_sid]}/Documents/#{@solution[:document_sid]}/Permissions/#{@solution[:identity]}"
193
- end
194
-
195
- ##
196
- # Fetch a DocumentPermissionInstance
197
- # @return [DocumentPermissionInstance] Fetched DocumentPermissionInstance
198
- def fetch
199
- params = Twilio::Values.of({})
200
-
201
- payload = @version.fetch(
202
- 'GET',
203
- @uri,
204
- params,
205
- )
206
-
207
- DocumentPermissionInstance.new(
208
- @version,
209
- payload,
210
- service_sid: @solution[:service_sid],
211
- document_sid: @solution[:document_sid],
212
- identity: @solution[:identity],
213
- )
214
- end
215
-
216
- ##
217
- # Deletes the DocumentPermissionInstance
218
- # @return [Boolean] true if delete succeeds, true otherwise
219
- def delete
220
- @version.delete('delete', @uri)
221
- end
222
-
223
- ##
224
- # Update the DocumentPermissionInstance
225
- # @param [Boolean] read Boolean flag specifying whether the identity can read the
226
- # Sync Document.
227
- # @param [Boolean] write Boolean flag specifying whether the identity can update
228
- # the Sync Document.
229
- # @param [Boolean] manage Boolean flag specifying whether the identity can delete
230
- # the Sync Document.
231
- # @return [DocumentPermissionInstance] Updated DocumentPermissionInstance
232
- def update(read: nil, write: nil, manage: nil)
233
- data = Twilio::Values.of({
234
- 'Read' => read,
235
- 'Write' => write,
236
- 'Manage' => manage,
237
- })
238
-
239
- payload = @version.update(
240
- 'POST',
241
- @uri,
242
- data: data,
243
- )
244
-
245
- DocumentPermissionInstance.new(
246
- @version,
247
- payload,
248
- service_sid: @solution[:service_sid],
249
- document_sid: @solution[:document_sid],
250
- identity: @solution[:identity],
251
- )
252
- end
253
-
254
- ##
255
- # Provide a user friendly representation
256
- def to_s
257
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
258
- "#<Twilio.Preview.Sync.DocumentPermissionContext #{context}>"
259
- end
260
- end
261
-
262
- class DocumentPermissionInstance < InstanceResource
263
- ##
264
- # Initialize the DocumentPermissionInstance
265
- # @param [Version] version Version that contains the resource
266
- # @param [Hash] payload payload that contains response from Twilio
267
- # @param [String] service_sid The unique SID identifier of the Sync Service
268
- # Instance.
269
- # @param [String] document_sid The unique SID identifier of the Sync Document to
270
- # which the Permission applies.
271
- # @param [String] identity Arbitrary string identifier representing a user
272
- # associated with an FPA token, assigned by the developer.
273
- # @return [DocumentPermissionInstance] DocumentPermissionInstance
274
- def initialize(version, payload, service_sid: nil, document_sid: nil, identity: nil)
275
- super(version)
276
-
277
- # Marshaled Properties
278
- @properties = {
279
- 'account_sid' => payload['account_sid'],
280
- 'service_sid' => payload['service_sid'],
281
- 'document_sid' => payload['document_sid'],
282
- 'identity' => payload['identity'],
283
- 'read' => payload['read'],
284
- 'write' => payload['write'],
285
- 'manage' => payload['manage'],
286
- 'url' => payload['url'],
287
- }
288
-
289
- # Context
290
- @instance_context = nil
291
- @params = {
292
- 'service_sid' => service_sid,
293
- 'document_sid' => document_sid,
294
- 'identity' => identity || @properties['identity'],
295
- }
296
- end
297
-
298
- ##
299
- # Generate an instance context for the instance, the context is capable of
300
- # performing various actions. All instance actions are proxied to the context
301
- # @param [Version] version Version that contains the resource
302
- # @return [DocumentPermissionContext] DocumentPermissionContext for this DocumentPermissionInstance
303
- def context
304
- unless @instance_context
305
- @instance_context = DocumentPermissionContext.new(
306
- @version,
307
- @params['service_sid'],
308
- @params['document_sid'],
309
- @params['identity'],
310
- )
311
- end
312
- @instance_context
313
- end
314
-
315
- def account_sid
316
- @properties['account_sid']
317
- end
318
-
319
- def service_sid
320
- @properties['service_sid']
321
- end
322
-
323
- def document_sid
324
- @properties['document_sid']
325
- end
326
-
327
- def identity
328
- @properties['identity']
329
- end
330
-
331
- def read
332
- @properties['read']
333
- end
334
-
335
- def write
336
- @properties['write']
337
- end
338
-
339
- def manage
340
- @properties['manage']
341
- end
342
-
343
- def url
344
- @properties['url']
345
- end
346
-
347
- ##
348
- # Fetch a DocumentPermissionInstance
349
- # @return [DocumentPermissionInstance] Fetched DocumentPermissionInstance
350
- def fetch
351
- context.fetch
352
- end
353
-
354
- ##
355
- # Deletes the DocumentPermissionInstance
356
- # @return [Boolean] true if delete succeeds, true otherwise
357
- def delete
358
- context.delete
359
- end
360
-
361
- ##
362
- # Update the DocumentPermissionInstance
363
- # @param [Boolean] read Boolean flag specifying whether the identity can read the
364
- # Sync Document.
365
- # @param [Boolean] write Boolean flag specifying whether the identity can update
366
- # the Sync Document.
367
- # @param [Boolean] manage Boolean flag specifying whether the identity can delete
368
- # the Sync Document.
369
- # @return [DocumentPermissionInstance] Updated DocumentPermissionInstance
370
- def update(read: nil, write: nil, manage: nil)
371
- context.update(
372
- read: read,
373
- write: write,
374
- manage: manage,
375
- )
376
- end
377
-
378
- ##
379
- # Provide a user friendly representation
380
- def to_s
381
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
382
- "<Twilio.Preview.Sync.DocumentPermissionInstance #{values}>"
383
- end
384
- end
385
- end
386
- end
387
- end
388
- end
389
- end
390
- end