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,349 +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 Proxy < Version
11
- class ServiceContext < InstanceContext
12
- class PhoneNumberList < ListResource
13
- ##
14
- # Initialize the PhoneNumberList
15
- # @param [Version] version Version that contains the resource
16
- # @param [String] service_sid The unique SID identifier of the Service.
17
- # @return [PhoneNumberList] PhoneNumberList
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]}/PhoneNumbers"
26
- end
27
-
28
- ##
29
- # Retrieve a single page of PhoneNumberInstance records from the API.
30
- # Request is executed immediately.
31
- # @param [String] sid The phone-number Sid that uniquely identifies this resource
32
- # @return [PhoneNumberInstance] Newly created PhoneNumberInstance
33
- def create(sid: nil)
34
- data = Twilio::Values.of({
35
- 'Sid' => sid,
36
- })
37
-
38
- payload = @version.create(
39
- 'POST',
40
- @uri,
41
- data: data
42
- )
43
-
44
- PhoneNumberInstance.new(
45
- @version,
46
- payload,
47
- service_sid: @solution[:service_sid],
48
- )
49
- end
50
-
51
- ##
52
- # Lists PhoneNumberInstance records from the API as a list.
53
- # Unlike stream(), this operation is eager and will load `limit` records into
54
- # memory before returning.
55
- # @param [Integer] limit Upper limit for the number of records to return. stream()
56
- # guarantees to never return more than limit. Default is no limit
57
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
58
- # the default value of 50 records. If no page_size is defined
59
- # but a limit is defined, stream() will attempt to read the
60
- # limit with the most efficient page size, i.e. min(limit, 1000)
61
- # @return [Array] Array of up to limit results
62
- def list(limit: nil, page_size: nil)
63
- self.stream(
64
- limit: limit,
65
- page_size: page_size
66
- ).entries
67
- end
68
-
69
- ##
70
- # Streams PhoneNumberInstance records from the API as an Enumerable.
71
- # This operation lazily loads records as efficiently as possible until the limit
72
- # is reached.
73
- # @param [Integer] limit Upper limit for the number of records to return. stream()
74
- # guarantees to never return more than limit. Default is no limit
75
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
76
- # the default value of 50 records. If no page_size is defined
77
- # but a limit is defined, stream() will attempt to read the
78
- # limit with the most efficient page size, i.e. min(limit, 1000)
79
- # @return [Enumerable] Enumerable that will yield up to limit results
80
- def stream(limit: nil, page_size: nil)
81
- limits = @version.read_limits(limit, page_size)
82
-
83
- page = self.page(
84
- page_size: limits[:page_size],
85
- )
86
-
87
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
88
- end
89
-
90
- ##
91
- # When passed a block, yields PhoneNumberInstance records from the API.
92
- # This operation lazily loads records as efficiently as possible until the limit
93
- # is reached.
94
- # @param [Integer] limit Upper limit for the number of records to return. stream()
95
- # guarantees to never return more than limit. Default is no limit
96
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
97
- # the default value of 50 records. If no page_size is defined
98
- # but a limit is defined, stream() will attempt to read the
99
- # limit with the most efficient page size, i.e. min(limit, 1000)
100
- def each
101
- limits = @version.read_limits
102
-
103
- page = self.page(
104
- page_size: limits[:page_size],
105
- )
106
-
107
- @version.stream(page,
108
- limit: limits[:limit],
109
- page_limit: limits[:page_limit]).each {|x| yield x}
110
- end
111
-
112
- ##
113
- # Retrieve a single page of PhoneNumberInstance records from the API.
114
- # Request is executed immediately.
115
- # @param [String] page_token PageToken provided by the API
116
- # @param [Integer] page_number Page Number, this value is simply for client state
117
- # @param [Integer] page_size Number of records to return, defaults to 50
118
- # @return [Page] Page of PhoneNumberInstance
119
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
120
- params = Twilio::Values.of({
121
- 'PageToken' => page_token,
122
- 'Page' => page_number,
123
- 'PageSize' => page_size,
124
- })
125
- response = @version.page(
126
- 'GET',
127
- @uri,
128
- params
129
- )
130
- PhoneNumberPage.new(@version, response, @solution)
131
- end
132
-
133
- ##
134
- # Retrieve a single page of PhoneNumberInstance records from the API.
135
- # Request is executed immediately.
136
- # @param [String] target_url API-generated URL for the requested results page
137
- # @return [Page] Page of PhoneNumberInstance
138
- def get_page(target_url)
139
- response = @version.domain.request(
140
- 'GET',
141
- target_url
142
- )
143
- PhoneNumberPage.new(@version, response, @solution)
144
- end
145
-
146
- ##
147
- # Provide a user friendly representation
148
- def to_s
149
- '#<Twilio.Preview.Proxy.PhoneNumberList>'
150
- end
151
- end
152
-
153
- class PhoneNumberPage < Page
154
- ##
155
- # Initialize the PhoneNumberPage
156
- # @param [Version] version Version that contains the resource
157
- # @param [Response] response Response from the API
158
- # @param [Hash] solution Path solution for the resource
159
- # @param [String] service_sid The unique SID identifier of the Service.
160
- # @return [PhoneNumberPage] PhoneNumberPage
161
- def initialize(version, response, solution)
162
- super(version, response)
163
-
164
- # Path Solution
165
- @solution = solution
166
- end
167
-
168
- ##
169
- # Build an instance of PhoneNumberInstance
170
- # @param [Hash] payload Payload response from the API
171
- # @return [PhoneNumberInstance] PhoneNumberInstance
172
- def get_instance(payload)
173
- PhoneNumberInstance.new(
174
- @version,
175
- payload,
176
- service_sid: @solution[:service_sid],
177
- )
178
- end
179
-
180
- ##
181
- # Provide a user friendly representation
182
- def to_s
183
- '<Twilio.Preview.Proxy.PhoneNumberPage>'
184
- end
185
- end
186
-
187
- class PhoneNumberContext < InstanceContext
188
- ##
189
- # Initialize the PhoneNumberContext
190
- # @param [Version] version Version that contains the resource
191
- # @param [String] service_sid The service_sid
192
- # @param [String] sid The phone-number Sid that uniquely identifies this resource
193
- # @return [PhoneNumberContext] PhoneNumberContext
194
- def initialize(version, service_sid, sid)
195
- super(version)
196
-
197
- # Path Solution
198
- @solution = {
199
- service_sid: service_sid,
200
- sid: sid,
201
- }
202
- @uri = "/Services/#{@solution[:service_sid]}/PhoneNumbers/#{@solution[:sid]}"
203
- end
204
-
205
- ##
206
- # Deletes the PhoneNumberInstance
207
- # @return [Boolean] true if delete succeeds, true otherwise
208
- def delete
209
- @version.delete('delete', @uri)
210
- end
211
-
212
- ##
213
- # Fetch a PhoneNumberInstance
214
- # @return [PhoneNumberInstance] Fetched PhoneNumberInstance
215
- def fetch
216
- params = Twilio::Values.of({})
217
-
218
- payload = @version.fetch(
219
- 'GET',
220
- @uri,
221
- params,
222
- )
223
-
224
- PhoneNumberInstance.new(
225
- @version,
226
- payload,
227
- service_sid: @solution[:service_sid],
228
- sid: @solution[:sid],
229
- )
230
- end
231
-
232
- ##
233
- # Provide a user friendly representation
234
- def to_s
235
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
236
- "#<Twilio.Preview.Proxy.PhoneNumberContext #{context}>"
237
- end
238
- end
239
-
240
- class PhoneNumberInstance < InstanceResource
241
- ##
242
- # Initialize the PhoneNumberInstance
243
- # @param [Version] version Version that contains the resource
244
- # @param [Hash] payload payload that contains response from Twilio
245
- # @param [String] service_sid The unique SID identifier of the Service.
246
- # @param [String] sid The phone-number Sid that uniquely identifies this resource
247
- # @return [PhoneNumberInstance] PhoneNumberInstance
248
- def initialize(version, payload, service_sid: nil, sid: nil)
249
- super(version)
250
-
251
- # Marshaled Properties
252
- @properties = {
253
- 'sid' => payload['sid'],
254
- 'account_sid' => payload['account_sid'],
255
- 'service_sid' => payload['service_sid'],
256
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
257
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
258
- 'phone_number' => payload['phone_number'],
259
- 'country_code' => payload['country_code'],
260
- 'capabilities' => payload['capabilities'],
261
- 'url' => payload['url'],
262
- }
263
-
264
- # Context
265
- @instance_context = nil
266
- @params = {
267
- 'service_sid' => service_sid,
268
- 'sid' => sid || @properties['sid'],
269
- }
270
- end
271
-
272
- ##
273
- # Generate an instance context for the instance, the context is capable of
274
- # performing various actions. All instance actions are proxied to the context
275
- # @param [Version] version Version that contains the resource
276
- # @return [PhoneNumberContext] PhoneNumberContext for this PhoneNumberInstance
277
- def context
278
- unless @instance_context
279
- @instance_context = PhoneNumberContext.new(
280
- @version,
281
- @params['service_sid'],
282
- @params['sid'],
283
- )
284
- end
285
- @instance_context
286
- end
287
-
288
- def sid
289
- @properties['sid']
290
- end
291
-
292
- def account_sid
293
- @properties['account_sid']
294
- end
295
-
296
- def service_sid
297
- @properties['service_sid']
298
- end
299
-
300
- def date_created
301
- @properties['date_created']
302
- end
303
-
304
- def date_updated
305
- @properties['date_updated']
306
- end
307
-
308
- def phone_number
309
- @properties['phone_number']
310
- end
311
-
312
- def country_code
313
- @properties['country_code']
314
- end
315
-
316
- def capabilities
317
- @properties['capabilities']
318
- end
319
-
320
- def url
321
- @properties['url']
322
- end
323
-
324
- ##
325
- # Deletes the PhoneNumberInstance
326
- # @return [Boolean] true if delete succeeds, true otherwise
327
- def delete
328
- context.delete
329
- end
330
-
331
- ##
332
- # Fetch a PhoneNumberInstance
333
- # @return [PhoneNumberInstance] Fetched PhoneNumberInstance
334
- def fetch
335
- context.fetch
336
- end
337
-
338
- ##
339
- # Provide a user friendly representation
340
- def to_s
341
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
342
- "<Twilio.Preview.Proxy.PhoneNumberInstance #{values}>"
343
- end
344
- end
345
- end
346
- end
347
- end
348
- end
349
- end
@@ -1,525 +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 Proxy < Version
11
- class ServiceContext < InstanceContext
12
- class SessionList < ListResource
13
- ##
14
- # Initialize the SessionList
15
- # @param [Version] version Version that contains the resource
16
- # @param [String] service_sid The unique SID identifier of the Service.
17
- # @return [SessionList] SessionList
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]}/Sessions"
26
- end
27
-
28
- ##
29
- # Lists SessionInstance records from the API as a list.
30
- # Unlike stream(), this operation is eager and will load `limit` records into
31
- # memory before returning.
32
- # @param [String] unique_name Provides a unique and addressable name to be
33
- # assigned to this Session, assigned by the developer, to be optionally used in
34
- # addition to SID.
35
- # @param [session.Status] status The Status of this Session. One of `in-progess`
36
- # or `completed`.
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(unique_name: :unset, status: :unset, limit: nil, page_size: nil)
45
- self.stream(
46
- unique_name: unique_name,
47
- status: status,
48
- limit: limit,
49
- page_size: page_size
50
- ).entries
51
- end
52
-
53
- ##
54
- # Streams SessionInstance records from the API as an Enumerable.
55
- # This operation lazily loads records as efficiently as possible until the limit
56
- # is reached.
57
- # @param [String] unique_name Provides a unique and addressable name to be
58
- # assigned to this Session, assigned by the developer, to be optionally used in
59
- # addition to SID.
60
- # @param [session.Status] status The Status of this Session. One of `in-progess`
61
- # or `completed`.
62
- # @param [Integer] limit Upper limit for the number of records to return. stream()
63
- # guarantees to never return more than limit. Default is no limit
64
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
65
- # the default value of 50 records. If no page_size is defined
66
- # but a limit is defined, stream() will attempt to read the
67
- # limit with the most efficient page size, i.e. min(limit, 1000)
68
- # @return [Enumerable] Enumerable that will yield up to limit results
69
- def stream(unique_name: :unset, status: :unset, limit: nil, page_size: nil)
70
- limits = @version.read_limits(limit, page_size)
71
-
72
- page = self.page(
73
- unique_name: unique_name,
74
- status: status,
75
- page_size: limits[:page_size],
76
- )
77
-
78
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
79
- end
80
-
81
- ##
82
- # When passed a block, yields SessionInstance records from the API.
83
- # This operation lazily loads records as efficiently as possible until the limit
84
- # is reached.
85
- # @param [String] unique_name Provides a unique and addressable name to be
86
- # assigned to this Session, assigned by the developer, to be optionally used in
87
- # addition to SID.
88
- # @param [session.Status] status The Status of this Session. One of `in-progess`
89
- # or `completed`.
90
- # @param [Integer] limit Upper limit for the number of records to return. stream()
91
- # guarantees to never return more than limit. Default is no limit
92
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
93
- # the default value of 50 records. If no page_size is defined
94
- # but a limit is defined, stream() will attempt to read the
95
- # limit with the most efficient page size, i.e. min(limit, 1000)
96
- def each
97
- limits = @version.read_limits
98
-
99
- page = self.page(
100
- page_size: limits[:page_size],
101
- )
102
-
103
- @version.stream(page,
104
- limit: limits[:limit],
105
- page_limit: limits[:page_limit]).each {|x| yield x}
106
- end
107
-
108
- ##
109
- # Retrieve a single page of SessionInstance records from the API.
110
- # Request is executed immediately.
111
- # @param [String] unique_name Provides a unique and addressable name to be
112
- # assigned to this Session, assigned by the developer, to be optionally used in
113
- # addition to SID.
114
- # @param [session.Status] status The Status of this Session. One of `in-progess`
115
- # or `completed`.
116
- # @param [String] page_token PageToken provided by the API
117
- # @param [Integer] page_number Page Number, this value is simply for client state
118
- # @param [Integer] page_size Number of records to return, defaults to 50
119
- # @return [Page] Page of SessionInstance
120
- def page(unique_name: :unset, status: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
121
- params = Twilio::Values.of({
122
- 'UniqueName' => unique_name,
123
- 'Status' => status,
124
- 'PageToken' => page_token,
125
- 'Page' => page_number,
126
- 'PageSize' => page_size,
127
- })
128
- response = @version.page(
129
- 'GET',
130
- @uri,
131
- params
132
- )
133
- SessionPage.new(@version, response, @solution)
134
- end
135
-
136
- ##
137
- # Retrieve a single page of SessionInstance records from the API.
138
- # Request is executed immediately.
139
- # @param [String] target_url API-generated URL for the requested results page
140
- # @return [Page] Page of SessionInstance
141
- def get_page(target_url)
142
- response = @version.domain.request(
143
- 'GET',
144
- target_url
145
- )
146
- SessionPage.new(@version, response, @solution)
147
- end
148
-
149
- ##
150
- # Retrieve a single page of SessionInstance records from the API.
151
- # Request is executed immediately.
152
- # @param [String] unique_name Provides a unique and addressable name to be
153
- # assigned to this Session, assigned by the developer, to be optionally used in
154
- # addition to SID.
155
- # @param [String] ttl How long will this session stay open, in seconds. Each new
156
- # interaction resets this timer.
157
- # @param [session.Status] status The Status of this Session. One of `in-progess`
158
- # or `completed`.
159
- # @param [String] participants The participants
160
- # @return [SessionInstance] Newly created SessionInstance
161
- def create(unique_name: :unset, ttl: :unset, status: :unset, participants: :unset)
162
- data = Twilio::Values.of({
163
- 'UniqueName' => unique_name,
164
- 'Ttl' => ttl,
165
- 'Status' => status,
166
- 'Participants' => participants,
167
- })
168
-
169
- payload = @version.create(
170
- 'POST',
171
- @uri,
172
- data: data
173
- )
174
-
175
- SessionInstance.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.Proxy.SessionList>'
186
- end
187
- end
188
-
189
- class SessionPage < Page
190
- ##
191
- # Initialize the SessionPage
192
- # @param [Version] version Version that contains the resource
193
- # @param [Response] response Response from the API
194
- # @param [Hash] solution Path solution for the resource
195
- # @param [String] service_sid The unique SID identifier of the Service.
196
- # @return [SessionPage] SessionPage
197
- def initialize(version, response, solution)
198
- super(version, response)
199
-
200
- # Path Solution
201
- @solution = solution
202
- end
203
-
204
- ##
205
- # Build an instance of SessionInstance
206
- # @param [Hash] payload Payload response from the API
207
- # @return [SessionInstance] SessionInstance
208
- def get_instance(payload)
209
- SessionInstance.new(
210
- @version,
211
- payload,
212
- service_sid: @solution[:service_sid],
213
- )
214
- end
215
-
216
- ##
217
- # Provide a user friendly representation
218
- def to_s
219
- '<Twilio.Preview.Proxy.SessionPage>'
220
- end
221
- end
222
-
223
- class SessionContext < InstanceContext
224
- ##
225
- # Initialize the SessionContext
226
- # @param [Version] version Version that contains the resource
227
- # @param [String] service_sid The unique SID identifier of the Service.
228
- # @param [String] sid A 34 character string that uniquely identifies this Session.
229
- # @return [SessionContext] SessionContext
230
- def initialize(version, service_sid, sid)
231
- super(version)
232
-
233
- # Path Solution
234
- @solution = {
235
- service_sid: service_sid,
236
- sid: sid,
237
- }
238
- @uri = "/Services/#{@solution[:service_sid]}/Sessions/#{@solution[:sid]}"
239
-
240
- # Dependents
241
- @interactions = nil
242
- @participants = nil
243
- end
244
-
245
- ##
246
- # Fetch a SessionInstance
247
- # @return [SessionInstance] Fetched SessionInstance
248
- def fetch
249
- params = Twilio::Values.of({})
250
-
251
- payload = @version.fetch(
252
- 'GET',
253
- @uri,
254
- params,
255
- )
256
-
257
- SessionInstance.new(
258
- @version,
259
- payload,
260
- service_sid: @solution[:service_sid],
261
- sid: @solution[:sid],
262
- )
263
- end
264
-
265
- ##
266
- # Deletes the SessionInstance
267
- # @return [Boolean] true if delete succeeds, true otherwise
268
- def delete
269
- @version.delete('delete', @uri)
270
- end
271
-
272
- ##
273
- # Update the SessionInstance
274
- # @param [String] unique_name Provides a unique and addressable name to be
275
- # assigned to this Session, assigned by the developer, to be optionally used in
276
- # addition to SID.
277
- # @param [String] ttl How long will this session stay open, in seconds. Each new
278
- # interaction resets this timer.
279
- # @param [session.Status] status The Status of this Session. One of `in-progess`
280
- # or `completed`.
281
- # @param [String] participants The participants
282
- # @return [SessionInstance] Updated SessionInstance
283
- def update(unique_name: :unset, ttl: :unset, status: :unset, participants: :unset)
284
- data = Twilio::Values.of({
285
- 'UniqueName' => unique_name,
286
- 'Ttl' => ttl,
287
- 'Status' => status,
288
- 'Participants' => participants,
289
- })
290
-
291
- payload = @version.update(
292
- 'POST',
293
- @uri,
294
- data: data,
295
- )
296
-
297
- SessionInstance.new(
298
- @version,
299
- payload,
300
- service_sid: @solution[:service_sid],
301
- sid: @solution[:sid],
302
- )
303
- end
304
-
305
- ##
306
- # Access the interactions
307
- # @return [InteractionList] if a(n) InteractionList object was created.
308
- # @return [InteractionContext] if a(n) InteractionContext object was created.
309
- def interactions(sid=:unset)
310
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
311
-
312
- if sid != :unset
313
- return InteractionContext.new(
314
- @version,
315
- @solution[:service_sid],
316
- @solution[:sid],
317
- sid,
318
- )
319
- end
320
-
321
- unless @interactions
322
- @interactions = InteractionList.new(
323
- @version,
324
- service_sid: @solution[:service_sid],
325
- session_sid: @solution[:sid],
326
- )
327
- end
328
-
329
- @interactions
330
- end
331
-
332
- ##
333
- # Access the participants
334
- # @return [ParticipantList] if a(n) ParticipantList object was created.
335
- # @return [ParticipantContext] if a(n) ParticipantContext object was created.
336
- def participants(sid=:unset)
337
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
338
-
339
- if sid != :unset
340
- return ParticipantContext.new(
341
- @version,
342
- @solution[:service_sid],
343
- @solution[:sid],
344
- sid,
345
- )
346
- end
347
-
348
- unless @participants
349
- @participants = ParticipantList.new(
350
- @version,
351
- service_sid: @solution[:service_sid],
352
- session_sid: @solution[:sid],
353
- )
354
- end
355
-
356
- @participants
357
- end
358
-
359
- ##
360
- # Provide a user friendly representation
361
- def to_s
362
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
363
- "#<Twilio.Preview.Proxy.SessionContext #{context}>"
364
- end
365
- end
366
-
367
- class SessionInstance < InstanceResource
368
- ##
369
- # Initialize the SessionInstance
370
- # @param [Version] version Version that contains the resource
371
- # @param [Hash] payload payload that contains response from Twilio
372
- # @param [String] service_sid The unique SID identifier of the Service.
373
- # @param [String] sid A 34 character string that uniquely identifies this Session.
374
- # @return [SessionInstance] SessionInstance
375
- def initialize(version, payload, service_sid: nil, sid: nil)
376
- super(version)
377
-
378
- # Marshaled Properties
379
- @properties = {
380
- 'sid' => payload['sid'],
381
- 'service_sid' => payload['service_sid'],
382
- 'account_sid' => payload['account_sid'],
383
- 'unique_name' => payload['unique_name'],
384
- 'ttl' => payload['ttl'].to_i,
385
- 'status' => payload['status'],
386
- 'start_time' => Twilio.deserialize_iso8601_datetime(payload['start_time']),
387
- 'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
388
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
389
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
390
- 'url' => payload['url'],
391
- 'links' => payload['links'],
392
- }
393
-
394
- # Context
395
- @instance_context = nil
396
- @params = {
397
- 'service_sid' => service_sid,
398
- 'sid' => sid || @properties['sid'],
399
- }
400
- end
401
-
402
- ##
403
- # Generate an instance context for the instance, the context is capable of
404
- # performing various actions. All instance actions are proxied to the context
405
- # @param [Version] version Version that contains the resource
406
- # @return [SessionContext] SessionContext for this SessionInstance
407
- def context
408
- unless @instance_context
409
- @instance_context = SessionContext.new(
410
- @version,
411
- @params['service_sid'],
412
- @params['sid'],
413
- )
414
- end
415
- @instance_context
416
- end
417
-
418
- def sid
419
- @properties['sid']
420
- end
421
-
422
- def service_sid
423
- @properties['service_sid']
424
- end
425
-
426
- def account_sid
427
- @properties['account_sid']
428
- end
429
-
430
- def unique_name
431
- @properties['unique_name']
432
- end
433
-
434
- def ttl
435
- @properties['ttl']
436
- end
437
-
438
- def status
439
- @properties['status']
440
- end
441
-
442
- def start_time
443
- @properties['start_time']
444
- end
445
-
446
- def end_time
447
- @properties['end_time']
448
- end
449
-
450
- def date_created
451
- @properties['date_created']
452
- end
453
-
454
- def date_updated
455
- @properties['date_updated']
456
- end
457
-
458
- def url
459
- @properties['url']
460
- end
461
-
462
- def links
463
- @properties['links']
464
- end
465
-
466
- ##
467
- # Fetch a SessionInstance
468
- # @return [SessionInstance] Fetched SessionInstance
469
- def fetch
470
- context.fetch
471
- end
472
-
473
- ##
474
- # Deletes the SessionInstance
475
- # @return [Boolean] true if delete succeeds, true otherwise
476
- def delete
477
- context.delete
478
- end
479
-
480
- ##
481
- # Update the SessionInstance
482
- # @param [String] unique_name Provides a unique and addressable name to be
483
- # assigned to this Session, assigned by the developer, to be optionally used in
484
- # addition to SID.
485
- # @param [String] ttl How long will this session stay open, in seconds. Each new
486
- # interaction resets this timer.
487
- # @param [session.Status] status The Status of this Session. One of `in-progess`
488
- # or `completed`.
489
- # @param [String] participants The participants
490
- # @return [SessionInstance] Updated SessionInstance
491
- def update(unique_name: :unset, ttl: :unset, status: :unset, participants: :unset)
492
- context.update(
493
- unique_name: unique_name,
494
- ttl: ttl,
495
- status: status,
496
- participants: participants,
497
- )
498
- end
499
-
500
- ##
501
- # Access the interactions
502
- # @return [interactions] interactions
503
- def interactions
504
- context.interactions
505
- end
506
-
507
- ##
508
- # Access the participants
509
- # @return [participants] participants
510
- def participants
511
- context.participants
512
- end
513
-
514
- ##
515
- # Provide a user friendly representation
516
- def to_s
517
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
518
- "<Twilio.Preview.Proxy.SessionInstance #{values}>"
519
- end
520
- end
521
- end
522
- end
523
- end
524
- end
525
- end