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