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