twilio-ruby 5.0.0.rc26 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
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