twilio-ruby 5.0.0.rc18 → 5.0.0.rc19

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 (369) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +9 -0
  3. data/lib/twilio-ruby/jwt/access_token.rb +25 -0
  4. data/lib/twilio-ruby/rest/accounts.rb +40 -0
  5. data/lib/twilio-ruby/rest/accounts/v1.rb +35 -0
  6. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +102 -0
  7. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +352 -0
  8. data/lib/twilio-ruby/rest/api.rb +30 -34
  9. data/lib/twilio-ruby/rest/api/v2010.rb +28 -32
  10. data/lib/twilio-ruby/rest/api/v2010/account.rb +132 -150
  11. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +71 -55
  12. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +29 -29
  13. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +58 -58
  14. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +37 -37
  15. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +45 -45
  16. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +39 -39
  17. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +39 -39
  18. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +39 -39
  19. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +102 -123
  20. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +33 -33
  21. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +38 -38
  22. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +52 -52
  23. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +42 -37
  24. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +83 -40
  25. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +131 -43
  26. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +42 -42
  27. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +172 -96
  28. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +404 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +332 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +62 -57
  31. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +62 -57
  32. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +62 -57
  33. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +37 -37
  34. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +78 -85
  35. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +19 -19
  36. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +47 -57
  37. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +18 -18
  38. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +18 -18
  39. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +46 -46
  40. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +40 -40
  41. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +50 -50
  42. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +36 -36
  43. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +101 -68
  44. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +372 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +356 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +42 -42
  47. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +43 -43
  48. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +37 -37
  49. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +27 -16
  50. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +48 -48
  51. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +43 -43
  52. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +65 -60
  53. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +43 -38
  54. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +43 -38
  55. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +48 -48
  56. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +44 -44
  57. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +20 -20
  58. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +42 -42
  59. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +13 -13
  60. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +78 -82
  61. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +45 -73
  62. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +45 -73
  63. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +45 -73
  64. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +45 -73
  65. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +45 -73
  66. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +45 -73
  67. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +45 -73
  68. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +45 -73
  69. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +52 -52
  70. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +18 -18
  71. data/lib/twilio-ruby/rest/chat.rb +16 -9
  72. data/lib/twilio-ruby/rest/chat/v1.rb +4 -4
  73. data/lib/twilio-ruby/rest/chat/v1/credential.rb +53 -47
  74. data/lib/twilio-ruby/rest/chat/v1/service.rb +446 -69
  75. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +114 -69
  76. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +363 -0
  77. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +99 -44
  78. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +76 -54
  79. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +45 -45
  80. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +101 -46
  81. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +223 -0
  82. data/lib/twilio-ruby/rest/chat/v2.rb +44 -0
  83. data/lib/twilio-ruby/rest/chat/v2/credential.rb +381 -0
  84. data/lib/twilio-ruby/rest/chat/v2/service.rb +633 -0
  85. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +513 -0
  86. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +363 -0
  87. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +406 -0
  88. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +418 -0
  89. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +373 -0
  90. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +433 -0
  91. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +223 -0
  92. data/lib/twilio-ruby/rest/client.rb +91 -75
  93. data/lib/twilio-ruby/rest/fax.rb +40 -0
  94. data/lib/twilio-ruby/rest/fax/v1.rb +35 -0
  95. data/lib/twilio-ruby/rest/fax/v1/fax.rb +397 -0
  96. data/lib/twilio-ruby/rest/ip_messaging.rb +16 -9
  97. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +4 -4
  98. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +53 -47
  99. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +446 -69
  100. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +114 -69
  101. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +363 -0
  102. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +99 -44
  103. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +76 -54
  104. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +45 -45
  105. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +101 -46
  106. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +223 -0
  107. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +44 -0
  108. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +381 -0
  109. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +633 -0
  110. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +513 -0
  111. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +363 -0
  112. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +406 -0
  113. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +418 -0
  114. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +373 -0
  115. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +433 -0
  116. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +223 -0
  117. data/lib/twilio-ruby/rest/lookups.rb +6 -6
  118. data/lib/twilio-ruby/rest/lookups/v1.rb +3 -3
  119. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +30 -25
  120. data/lib/twilio-ruby/rest/messaging.rb +40 -0
  121. data/lib/twilio-ruby/rest/messaging/v1.rb +35 -0
  122. data/lib/twilio-ruby/rest/messaging/v1/service.rb +524 -0
  123. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +331 -0
  124. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +336 -0
  125. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +336 -0
  126. data/lib/twilio-ruby/rest/monitor.rb +7 -7
  127. data/lib/twilio-ruby/rest/monitor/v1.rb +4 -4
  128. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +57 -85
  129. data/lib/twilio-ruby/rest/monitor/v1/event.rb +63 -81
  130. data/lib/twilio-ruby/rest/notify.rb +7 -7
  131. data/lib/twilio-ruby/rest/notify/v1.rb +4 -4
  132. data/lib/twilio-ruby/rest/notify/v1/credential.rb +53 -47
  133. data/lib/twilio-ruby/rest/notify/v1/service.rb +148 -60
  134. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +70 -86
  135. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +47 -33
  136. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +206 -0
  137. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +418 -0
  138. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +247 -0
  139. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +405 -0
  140. data/lib/twilio-ruby/rest/preview.rb +34 -19
  141. data/lib/twilio-ruby/rest/preview/marketplace.rb +44 -0
  142. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +310 -0
  143. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +284 -0
  144. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +411 -0
  145. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +322 -0
  146. data/lib/twilio-ruby/rest/preview/sync.rb +3 -3
  147. data/lib/twilio-ruby/rest/preview/sync/service.rb +72 -61
  148. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +85 -46
  149. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +377 -0
  150. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +79 -47
  151. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +46 -46
  152. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +377 -0
  153. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +79 -47
  154. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +46 -46
  155. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +377 -0
  156. data/lib/twilio-ruby/rest/preview/wireless.rb +12 -12
  157. data/lib/twilio-ruby/rest/preview/wireless/command.rb +68 -45
  158. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +137 -73
  159. data/lib/twilio-ruby/rest/preview/wireless/{device.rb → sim.rb} +127 -150
  160. data/lib/twilio-ruby/rest/preview/wireless/{device → sim}/usage.rb +49 -49
  161. data/lib/twilio-ruby/rest/pricing.rb +8 -8
  162. data/lib/twilio-ruby/rest/pricing/v1.rb +5 -5
  163. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +16 -16
  164. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +33 -33
  165. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +16 -16
  166. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +33 -38
  167. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +18 -18
  168. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +33 -33
  169. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +26 -26
  170. data/lib/twilio-ruby/rest/taskrouter.rb +6 -6
  171. data/lib/twilio-ruby/rest/taskrouter/v1.rb +3 -3
  172. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +103 -82
  173. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +48 -43
  174. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +42 -42
  175. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +114 -75
  176. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +50 -40
  177. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +35 -35
  178. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +110 -78
  179. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +31 -30
  180. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +24 -24
  181. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +71 -61
  182. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +50 -40
  183. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +45 -45
  184. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +28 -23
  185. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +28 -23
  186. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +60 -50
  187. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +29 -24
  188. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +34 -29
  189. data/lib/twilio-ruby/rest/trunking.rb +6 -6
  190. data/lib/twilio-ruby/rest/trunking/v1.rb +3 -3
  191. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +67 -67
  192. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +39 -39
  193. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +39 -39
  194. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +47 -47
  195. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +58 -58
  196. data/lib/twilio-ruby/rest/video.rb +44 -0
  197. data/lib/twilio-ruby/rest/video/v1.rb +44 -0
  198. data/lib/twilio-ruby/rest/video/v1/recording.rb +341 -0
  199. data/lib/twilio-ruby/rest/video/v1/room.rb +411 -0
  200. data/lib/twilio-ruby/version.rb +1 -1
  201. data/spec/integration/accounts/v1/credential/public_key_spec.rb +226 -0
  202. data/spec/integration/accounts/v1/credential_spec.rb +10 -0
  203. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +7 -7
  204. data/spec/integration/api/v2010/account/address_spec.rb +32 -24
  205. data/spec/integration/api/v2010/account/application_spec.rb +24 -24
  206. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +11 -11
  207. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +7 -7
  208. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +7 -7
  209. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +7 -7
  210. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +11 -11
  211. data/spec/integration/api/v2010/account/call/feedback_spec.rb +14 -14
  212. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +14 -14
  213. data/spec/integration/api/v2010/account/call/notification_spec.rb +15 -15
  214. data/spec/integration/api/v2010/account/call/recording_spec.rb +15 -15
  215. data/spec/integration/api/v2010/account/call_spec.rb +24 -24
  216. data/spec/integration/api/v2010/account/conference/participant_spec.rb +97 -25
  217. data/spec/integration/api/v2010/account/conference_spec.rb +56 -17
  218. data/spec/integration/api/v2010/account/connect_app_spec.rb +15 -15
  219. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +135 -0
  220. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +223 -0
  221. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +12 -12
  222. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +12 -12
  223. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +12 -12
  224. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +32 -24
  225. data/spec/integration/api/v2010/account/key_spec.rb +19 -19
  226. data/spec/integration/api/v2010/account/message/feedback_spec.rb +25 -3
  227. data/spec/integration/api/v2010/account/message/media_spec.rb +15 -15
  228. data/spec/integration/api/v2010/account/message_spec.rb +34 -27
  229. data/spec/integration/api/v2010/account/new_key_spec.rb +5 -5
  230. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +5 -5
  231. data/spec/integration/api/v2010/account/notification_spec.rb +15 -15
  232. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +19 -19
  233. data/spec/integration/api/v2010/account/queue/member_spec.rb +15 -15
  234. data/spec/integration/api/v2010/account/queue_spec.rb +30 -27
  235. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +175 -0
  236. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +166 -0
  237. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +15 -15
  238. data/spec/integration/api/v2010/account/recording_spec.rb +16 -16
  239. data/spec/integration/api/v2010/account/short_code_spec.rb +15 -15
  240. data/spec/integration/api/v2010/account/signing_key_spec.rb +19 -19
  241. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +24 -24
  242. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +24 -24
  243. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +20 -20
  244. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +20 -20
  245. data/spec/integration/api/v2010/account/sip/domain_spec.rb +24 -24
  246. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +24 -24
  247. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +24 -24
  248. data/spec/integration/api/v2010/account/sip_spec.rb +1 -1
  249. data/spec/integration/api/v2010/account/token_spec.rb +6 -6
  250. data/spec/integration/api/v2010/account/transcription_spec.rb +15 -15
  251. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +7 -7
  252. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +7 -7
  253. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +7 -7
  254. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +7 -7
  255. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +7 -7
  256. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +7 -7
  257. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +7 -7
  258. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +7 -7
  259. data/spec/integration/api/v2010/account/usage/record_spec.rb +7 -7
  260. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +27 -27
  261. data/spec/integration/api/v2010/account/usage_spec.rb +1 -1
  262. data/spec/integration/api/v2010/account/validation_request_spec.rb +23 -3
  263. data/spec/integration/api/v2010/account_spec.rb +20 -24
  264. data/spec/integration/chat/v1/credential_spec.rb +31 -31
  265. data/spec/integration/chat/v1/service/channel/invite_spec.rb +210 -0
  266. data/spec/integration/chat/v1/service/channel/member_spec.rb +102 -31
  267. data/spec/integration/chat/v1/service/channel/message_spec.rb +210 -16
  268. data/spec/integration/chat/v1/service/channel_spec.rb +71 -55
  269. data/spec/integration/chat/v1/service/role_spec.rb +33 -33
  270. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +92 -0
  271. data/spec/integration/chat/v1/service/user_spec.rb +57 -33
  272. data/spec/integration/chat/v1/service_spec.rb +142 -106
  273. data/spec/integration/chat/v2/credential_spec.rb +223 -0
  274. data/spec/integration/chat/v2/service/channel/invite_spec.rb +210 -0
  275. data/spec/integration/chat/v2/service/channel/member_spec.rb +284 -0
  276. data/spec/integration/chat/v2/service/channel/message_spec.rb +294 -0
  277. data/spec/integration/chat/v2/service/channel_spec.rb +275 -0
  278. data/spec/integration/chat/v2/service/role_spec.rb +263 -0
  279. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +92 -0
  280. data/spec/integration/chat/v2/service/user_spec.rb +266 -0
  281. data/spec/integration/chat/v2/service_spec.rb +325 -0
  282. data/spec/integration/fax/v1/fax_spec.rb +231 -0
  283. data/spec/integration/ip_messaging/v1/credential_spec.rb +31 -31
  284. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +210 -0
  285. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +102 -31
  286. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +210 -16
  287. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +71 -55
  288. data/spec/integration/ip_messaging/v1/service/role_spec.rb +33 -33
  289. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +92 -0
  290. data/spec/integration/ip_messaging/v1/service/user_spec.rb +57 -33
  291. data/spec/integration/ip_messaging/v1/service_spec.rb +142 -106
  292. data/spec/integration/ip_messaging/v2/credential_spec.rb +223 -0
  293. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +210 -0
  294. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +284 -0
  295. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +294 -0
  296. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +275 -0
  297. data/spec/integration/ip_messaging/v2/service/role_spec.rb +263 -0
  298. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +92 -0
  299. data/spec/integration/ip_messaging/v2/service/user_spec.rb +266 -0
  300. data/spec/integration/ip_messaging/v2/service_spec.rb +325 -0
  301. data/spec/integration/lookups/v1/phone_number_spec.rb +5 -5
  302. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +170 -0
  303. data/spec/integration/messaging/v1/service/phone_number_spec.rb +173 -0
  304. data/spec/integration/messaging/v1/service/short_code_spec.rb +173 -0
  305. data/spec/integration/messaging/v1/service_spec.rb +243 -0
  306. data/spec/integration/monitor/v1/alert_spec.rb +57 -57
  307. data/spec/integration/monitor/v1/event_spec.rb +11 -11
  308. data/spec/integration/notify/v1/credential_spec.rb +23 -23
  309. data/spec/integration/notify/v1/service/binding_spec.rb +88 -71
  310. data/spec/integration/notify/v1/service/notification_spec.rb +7 -5
  311. data/spec/integration/notify/v1/service/segment_spec.rb +84 -0
  312. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +118 -0
  313. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +235 -0
  314. data/spec/integration/notify/v1/service/user_spec.rb +213 -0
  315. data/spec/integration/notify/v1/service_spec.rb +50 -30
  316. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +121 -0
  317. data/spec/integration/preview/marketplace/available_add_on_spec.rb +142 -0
  318. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +164 -0
  319. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +252 -0
  320. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +206 -0
  321. data/spec/integration/preview/sync/service/document_spec.rb +179 -17
  322. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +167 -11
  323. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +206 -0
  324. data/spec/integration/preview/sync/service/sync_list_spec.rb +143 -9
  325. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +167 -11
  326. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +206 -0
  327. data/spec/integration/preview/sync/service/sync_map_spec.rb +143 -9
  328. data/spec/integration/preview/sync/service_spec.rb +171 -11
  329. data/spec/integration/preview/wireless/command_spec.rb +120 -9
  330. data/spec/integration/preview/wireless/rate_plan_spec.rb +228 -7
  331. data/spec/integration/preview/wireless/sim/usage_spec.rb +49 -0
  332. data/spec/integration/preview/wireless/sim_spec.rb +184 -0
  333. data/spec/integration/pricing/v1/messaging/country_spec.rb +101 -5
  334. data/spec/integration/pricing/v1/messaging_spec.rb +1 -1
  335. data/spec/integration/pricing/v1/phone_number/country_spec.rb +11 -11
  336. data/spec/integration/pricing/v1/phone_number_spec.rb +1 -1
  337. data/spec/integration/pricing/v1/voice/country_spec.rb +11 -11
  338. data/spec/integration/pricing/v1/voice/number_spec.rb +5 -5
  339. data/spec/integration/pricing/v1/voice_spec.rb +1 -1
  340. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +29 -33
  341. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +11 -11
  342. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +15 -15
  343. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +11 -11
  344. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +12 -10
  345. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +17 -16
  346. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +52 -36
  347. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +101 -46
  348. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +15 -15
  349. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +15 -15
  350. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +6 -5
  351. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +6 -5
  352. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +39 -27
  353. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +13 -11
  354. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +47 -35
  355. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +10 -8
  356. data/spec/integration/taskrouter/v1/workspace_spec.rb +28 -24
  357. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +20 -20
  358. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +62 -62
  359. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +23 -23
  360. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +19 -19
  361. data/spec/integration/trunking/v1/trunk_spec.rb +23 -23
  362. data/spec/integration/video/v1/recording_spec.rb +120 -0
  363. data/spec/integration/video/v1/room_spec.rb +225 -0
  364. data/spec/jwt/access_token_spec.rb +22 -0
  365. metadata +158 -12
  366. data/lib/twilio-ruby/rest/api/v2010/account/sandbox.rb +0 -287
  367. data/spec/integration/api/v2010/account/sandbox_spec.rb +0 -99
  368. data/spec/integration/preview/wireless/device/usage_spec.rb +0 -25
  369. data/spec/integration/preview/wireless/device_spec.rb +0 -72
@@ -0,0 +1,363 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ module Twilio
8
+ module REST
9
+ class Chat < Domain
10
+ class V1 < Version
11
+ class ServiceContext < InstanceContext
12
+ class ChannelContext < InstanceContext
13
+ class InviteList < ListResource
14
+ ##
15
+ # Initialize the InviteList
16
+ # @param [Version] version Version that contains the resource
17
+ # @param [String] service_sid The service_sid
18
+ # @param [String] channel_sid The channel_sid
19
+ # @return [InviteList] InviteList
20
+ def initialize(version, service_sid: nil, channel_sid: nil)
21
+ super(version)
22
+
23
+ # Path Solution
24
+ @solution = {
25
+ service_sid: service_sid,
26
+ channel_sid: channel_sid
27
+ }
28
+ @uri = "/Services/#{@solution[:service_sid]}/Channels/#{@solution[:channel_sid]}/Invites"
29
+ end
30
+
31
+ ##
32
+ # Retrieve a single page of InviteInstance records from the API.
33
+ # Request is executed immediately.
34
+ # @param [String] identity The identity
35
+ # @param [String] role_sid The role_sid
36
+ # @return [InviteInstance] Newly created InviteInstance
37
+ def create(identity: nil, role_sid: nil)
38
+ data = {
39
+ 'Identity' => identity,
40
+ 'RoleSid' => role_sid,
41
+ }
42
+
43
+ payload = @version.create(
44
+ 'POST',
45
+ @uri,
46
+ data: data
47
+ )
48
+
49
+ return InviteInstance.new(
50
+ @version,
51
+ payload,
52
+ service_sid: @solution[:service_sid],
53
+ channel_sid: @solution[:channel_sid],
54
+ )
55
+ end
56
+
57
+ ##
58
+ # Lists InviteInstance records from the API as a list.
59
+ # Unlike stream(), this operation is eager and will load `limit` records into
60
+ # memory before returning.
61
+ # @param [String] identity The identity
62
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
63
+ # guarantees to never return more than limit. Default is no limit
64
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
65
+ # the default value of 50 records. If no page_size is defined
66
+ # but a limit is defined, stream() will attempt to read the
67
+ # limit with the most efficient page size, i.e. min(limit, 1000)
68
+ # @return [Array] Array of up to limit results
69
+ def list(identity: nil, limit: nil, page_size: nil)
70
+ self.stream(
71
+ identity: identity,
72
+ limit: limit,
73
+ page_size: page_size
74
+ ).entries
75
+ end
76
+
77
+ ##
78
+ # Streams InviteInstance records from the API as an Enumerable.
79
+ # This operation lazily loads records as efficiently as possible until the limit
80
+ # is reached.
81
+ # @param [String] identity The identity
82
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
83
+ # guarantees to never return more than limit. Default is no limit
84
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
85
+ # the default value of 50 records. If no page_size is defined
86
+ # but a limit is defined, stream() will attempt to read the
87
+ # limit with the most efficient page size, i.e. min(limit, 1000)
88
+ # @return [Enumerable] Enumerable that will yield up to limit results
89
+ def stream(identity: nil, limit: nil, page_size: nil)
90
+ limits = @version.read_limits(limit, page_size)
91
+
92
+ page = self.page(
93
+ identity: identity,
94
+ page_size: limits[:page_size],
95
+ )
96
+
97
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
98
+ end
99
+
100
+ ##
101
+ # When passed a block, yields InviteInstance records from the API.
102
+ # This operation lazily loads records as efficiently as possible until the limit
103
+ # is reached.
104
+ # @param [String] identity The identity
105
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
106
+ # guarantees to never return more than limit. Default is no limit
107
+ # @param [Integer] page_size Number of records to fetch per request, when not set will use
108
+ # the default value of 50 records. If no page_size is defined
109
+ # but a limit is defined, stream() will attempt to read the
110
+ # limit with the most efficient page size, i.e. min(limit, 1000)
111
+ def each
112
+ limits = @version.read_limits
113
+
114
+ page = self.page(
115
+ page_size: limits[:page_size],
116
+ )
117
+
118
+ @version.stream(page,
119
+ limit: limits[:limit],
120
+ page_limit: limits[:page_limit]).each {|x| yield x}
121
+ end
122
+
123
+ ##
124
+ # Retrieve a single page of InviteInstance records from the API.
125
+ # Request is executed immediately.
126
+ # @param [String] identity The identity
127
+ # @param [String] page_token PageToken provided by the API
128
+ # @param [Integer] page_number Page Number, this value is simply for client state
129
+ # @param [Integer] page_size Number of records to return, defaults to 50
130
+ # @return [Page] Page of InviteInstance
131
+ def page(identity: nil, page_token: nil, page_number: nil, page_size: nil)
132
+ params = {
133
+ 'Identity' => identity,
134
+ 'PageToken' => page_token,
135
+ 'Page' => page_number,
136
+ 'PageSize' => page_size,
137
+ }
138
+ response = @version.page(
139
+ 'GET',
140
+ @uri,
141
+ params
142
+ )
143
+ return InvitePage.new(@version, response, @solution)
144
+ end
145
+
146
+ ##
147
+ # Provide a user friendly representation
148
+ def to_s
149
+ '#<Twilio.Chat.V1.InviteList>'
150
+ end
151
+ end
152
+
153
+ class InvitePage < Page
154
+ ##
155
+ # Initialize the InvitePage
156
+ # @param [Version] version Version that contains the resource
157
+ # @param [Response] response Response from the API
158
+ # @param [Hash] solution Path solution for the resource
159
+ # @param [String] service_sid The service_sid
160
+ # @param [String] channel_sid The channel_sid
161
+ # @return [InvitePage] InvitePage
162
+ def initialize(version, response, solution)
163
+ super(version, response)
164
+
165
+ # Path Solution
166
+ @solution = solution
167
+ end
168
+
169
+ ##
170
+ # Build an instance of InviteInstance
171
+ # @param [Hash] payload Payload response from the API
172
+ # @return [InviteInstance] InviteInstance
173
+ def get_instance(payload)
174
+ return InviteInstance.new(
175
+ @version,
176
+ payload,
177
+ service_sid: @solution[:service_sid],
178
+ channel_sid: @solution[:channel_sid],
179
+ )
180
+ end
181
+
182
+ ##
183
+ # Provide a user friendly representation
184
+ def to_s
185
+ '<Twilio.Chat.V1.InvitePage>'
186
+ end
187
+ end
188
+
189
+ class InviteContext < InstanceContext
190
+ ##
191
+ # Initialize the InviteContext
192
+ # @param [Version] version Version that contains the resource
193
+ # @param [String] service_sid The service_sid
194
+ # @param [String] channel_sid The channel_sid
195
+ # @param [String] sid The sid
196
+ # @return [InviteContext] InviteContext
197
+ def initialize(version, service_sid, channel_sid, sid)
198
+ super(version)
199
+
200
+ # Path Solution
201
+ @solution = {
202
+ service_sid: service_sid,
203
+ channel_sid: channel_sid,
204
+ sid: sid,
205
+ }
206
+ @uri = "/Services/#{@solution[:service_sid]}/Channels/#{@solution[:channel_sid]}/Invites/#{@solution[:sid]}"
207
+ end
208
+
209
+ ##
210
+ # Fetch a InviteInstance
211
+ # @return [InviteInstance] Fetched InviteInstance
212
+ def fetch
213
+ params = {}
214
+
215
+ payload = @version.fetch(
216
+ 'GET',
217
+ @uri,
218
+ params,
219
+ )
220
+
221
+ return InviteInstance.new(
222
+ @version,
223
+ payload,
224
+ service_sid: @solution[:service_sid],
225
+ channel_sid: @solution[:channel_sid],
226
+ sid: @solution[:sid],
227
+ )
228
+ end
229
+
230
+ ##
231
+ # Deletes the InviteInstance
232
+ # @return [Boolean] true if delete succeeds, true otherwise
233
+ def delete
234
+ return @version.delete('delete', @uri)
235
+ end
236
+
237
+ ##
238
+ # Provide a user friendly representation
239
+ def to_s
240
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
241
+ "#<Twilio.Chat.V1.InviteContext #{context}>"
242
+ end
243
+ end
244
+
245
+ class InviteInstance < InstanceResource
246
+ ##
247
+ # Initialize the InviteInstance
248
+ # @param [Version] version Version that contains the resource
249
+ # @param [Hash] payload payload that contains response from Twilio
250
+ # @param [String] service_sid The service_sid
251
+ # @param [String] channel_sid The channel_sid
252
+ # @param [String] sid The sid
253
+ # @return [InviteInstance] InviteInstance
254
+ def initialize(version, payload, service_sid: nil, channel_sid: nil, sid: nil)
255
+ super(version)
256
+
257
+ # Marshaled Properties
258
+ @properties = {
259
+ 'sid' => payload['sid'],
260
+ 'account_sid' => payload['account_sid'],
261
+ 'channel_sid' => payload['channel_sid'],
262
+ 'service_sid' => payload['service_sid'],
263
+ 'identity' => payload['identity'],
264
+ 'date_created' => Twilio.deserialize_iso8601(payload['date_created']),
265
+ 'date_updated' => Twilio.deserialize_iso8601(payload['date_updated']),
266
+ 'role_sid' => payload['role_sid'],
267
+ 'created_by' => payload['created_by'],
268
+ 'url' => payload['url'],
269
+ }
270
+
271
+ # Context
272
+ @instance_context = nil
273
+ @params = {
274
+ 'service_sid' => service_sid,
275
+ 'channel_sid' => channel_sid,
276
+ 'sid' => sid || @properties['sid'],
277
+ }
278
+ end
279
+
280
+ ##
281
+ # Generate an instance context for the instance, the context is capable of
282
+ # performing various actions. All instance actions are proxied to the context
283
+ # @param [Version] version Version that contains the resource
284
+ # @return [InviteContext] InviteContext for this InviteInstance
285
+ def context
286
+ unless @instance_context
287
+ @instance_context = InviteContext.new(
288
+ @version,
289
+ @params['service_sid'],
290
+ @params['channel_sid'],
291
+ @params['sid'],
292
+ )
293
+ end
294
+ @instance_context
295
+ end
296
+
297
+ def sid
298
+ @properties['sid']
299
+ end
300
+
301
+ def account_sid
302
+ @properties['account_sid']
303
+ end
304
+
305
+ def channel_sid
306
+ @properties['channel_sid']
307
+ end
308
+
309
+ def service_sid
310
+ @properties['service_sid']
311
+ end
312
+
313
+ def identity
314
+ @properties['identity']
315
+ end
316
+
317
+ def date_created
318
+ @properties['date_created']
319
+ end
320
+
321
+ def date_updated
322
+ @properties['date_updated']
323
+ end
324
+
325
+ def role_sid
326
+ @properties['role_sid']
327
+ end
328
+
329
+ def created_by
330
+ @properties['created_by']
331
+ end
332
+
333
+ def url
334
+ @properties['url']
335
+ end
336
+
337
+ ##
338
+ # Fetch a InviteInstance
339
+ # @return [InviteInstance] Fetched InviteInstance
340
+ def fetch
341
+ context.fetch
342
+ end
343
+
344
+ ##
345
+ # Deletes the InviteInstance
346
+ # @return [Boolean] true if delete succeeds, true otherwise
347
+ def delete
348
+ context.delete
349
+ end
350
+
351
+ ##
352
+ # Provide a user friendly representation
353
+ def to_s
354
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
355
+ "<Twilio.Chat.V1.InviteInstance #{values}>"
356
+ end
357
+ end
358
+ end
359
+ end
360
+ end
361
+ end
362
+ end
363
+ end
@@ -2,7 +2,7 @@
2
2
  # This code was generated by
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
5
+ # / /
6
6
 
7
7
  module Twilio
8
8
  module REST
@@ -19,7 +19,7 @@ module Twilio
19
19
  # @return [MemberList] MemberList
20
20
  def initialize(version, service_sid: nil, channel_sid: nil)
21
21
  super(version)
22
-
22
+
23
23
  # Path Solution
24
24
  @solution = {
25
25
  service_sid: service_sid,
@@ -27,7 +27,7 @@ module Twilio
27
27
  }
28
28
  @uri = "/Services/#{@solution[:service_sid]}/Channels/#{@solution[:channel_sid]}/Members"
29
29
  end
30
-
30
+
31
31
  ##
32
32
  # Retrieve a single page of MemberInstance records from the API.
33
33
  # Request is executed immediately.
@@ -39,13 +39,13 @@ module Twilio
39
39
  'Identity' => identity,
40
40
  'RoleSid' => role_sid,
41
41
  }
42
-
42
+
43
43
  payload = @version.create(
44
44
  'POST',
45
45
  @uri,
46
46
  data: data
47
47
  )
48
-
48
+
49
49
  return MemberInstance.new(
50
50
  @version,
51
51
  payload,
@@ -53,11 +53,12 @@ module Twilio
53
53
  channel_sid: @solution[:channel_sid],
54
54
  )
55
55
  end
56
-
56
+
57
57
  ##
58
58
  # Lists MemberInstance records from the API as a list.
59
59
  # Unlike stream(), this operation is eager and will load `limit` records into
60
60
  # memory before returning.
61
+ # @param [String] identity The identity
61
62
  # @param [Integer] limit Upper limit for the number of records to return. stream()
62
63
  # guarantees to never return more than limit. Default is no limit
63
64
  # @param [Integer] page_size Number of records to fetch per request, when not set will use
@@ -65,17 +66,19 @@ module Twilio
65
66
  # but a limit is defined, stream() will attempt to read the
66
67
  # limit with the most efficient page size, i.e. min(limit, 1000)
67
68
  # @return [Array] Array of up to limit results
68
- def list(limit: nil, page_size: nil)
69
+ def list(identity: nil, limit: nil, page_size: nil)
69
70
  self.stream(
71
+ identity: identity,
70
72
  limit: limit,
71
73
  page_size: page_size
72
74
  ).entries
73
75
  end
74
-
76
+
75
77
  ##
76
78
  # Streams MemberInstance records from the API as an Enumerable.
77
79
  # This operation lazily loads records as efficiently as possible until the limit
78
80
  # is reached.
81
+ # @param [String] identity The identity
79
82
  # @param [Integer] limit Upper limit for the number of records to return. stream()
80
83
  # guarantees to never return more than limit. Default is no limit
81
84
  # @param [Integer] page_size Number of records to fetch per request, when not set will use
@@ -83,20 +86,22 @@ module Twilio
83
86
  # but a limit is defined, stream() will attempt to read the
84
87
  # limit with the most efficient page size, i.e. min(limit, 1000)
85
88
  # @return [Enumerable] Enumerable that will yield up to limit results
86
- def stream(limit: nil, page_size: nil)
89
+ def stream(identity: nil, limit: nil, page_size: nil)
87
90
  limits = @version.read_limits(limit, page_size)
88
-
91
+
89
92
  page = self.page(
93
+ identity: identity,
90
94
  page_size: limits[:page_size],
91
95
  )
92
-
96
+
93
97
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
94
98
  end
95
-
99
+
96
100
  ##
97
101
  # When passed a block, yields MemberInstance records from the API.
98
102
  # This operation lazily loads records as efficiently as possible until the limit
99
103
  # is reached.
104
+ # @param [String] identity The identity
100
105
  # @param [Integer] limit Upper limit for the number of records to return. stream()
101
106
  # guarantees to never return more than limit. Default is no limit
102
107
  # @param [Integer] page_size Number of records to fetch per request, when not set will use
@@ -105,25 +110,27 @@ module Twilio
105
110
  # limit with the most efficient page size, i.e. min(limit, 1000)
106
111
  def each
107
112
  limits = @version.read_limits
108
-
113
+
109
114
  page = self.page(
110
115
  page_size: limits[:page_size],
111
116
  )
112
-
117
+
113
118
  @version.stream(page,
114
119
  limit: limits[:limit],
115
120
  page_limit: limits[:page_limit]).each {|x| yield x}
116
121
  end
117
-
122
+
118
123
  ##
119
124
  # Retrieve a single page of MemberInstance records from the API.
120
125
  # Request is executed immediately.
126
+ # @param [String] identity The identity
121
127
  # @param [String] page_token PageToken provided by the API
122
128
  # @param [Integer] page_number Page Number, this value is simply for client state
123
129
  # @param [Integer] page_size Number of records to return, defaults to 50
124
130
  # @return [Page] Page of MemberInstance
125
- def page(page_token: nil, page_number: nil, page_size: nil)
131
+ def page(identity: nil, page_token: nil, page_number: nil, page_size: nil)
126
132
  params = {
133
+ 'Identity' => identity,
127
134
  'PageToken' => page_token,
128
135
  'Page' => page_number,
129
136
  'PageSize' => page_size,
@@ -135,14 +142,14 @@ module Twilio
135
142
  )
136
143
  return MemberPage.new(@version, response, @solution)
137
144
  end
138
-
145
+
139
146
  ##
140
147
  # Provide a user friendly representation
141
148
  def to_s
142
149
  '#<Twilio.Chat.V1.MemberList>'
143
150
  end
144
151
  end
145
-
152
+
146
153
  class MemberPage < Page
147
154
  ##
148
155
  # Initialize the MemberPage
@@ -154,11 +161,11 @@ module Twilio
154
161
  # @return [MemberPage] MemberPage
155
162
  def initialize(version, response, solution)
156
163
  super(version, response)
157
-
164
+
158
165
  # Path Solution
159
166
  @solution = solution
160
167
  end
161
-
168
+
162
169
  ##
163
170
  # Build an instance of MemberInstance
164
171
  # @param [Hash] payload Payload response from the API
@@ -171,14 +178,14 @@ module Twilio
171
178
  channel_sid: @solution[:channel_sid],
172
179
  )
173
180
  end
174
-
181
+
175
182
  ##
176
183
  # Provide a user friendly representation
177
184
  def to_s
178
185
  '<Twilio.Chat.V1.MemberPage>'
179
186
  end
180
187
  end
181
-
188
+
182
189
  class MemberContext < InstanceContext
183
190
  ##
184
191
  # Initialize the MemberContext
@@ -189,7 +196,7 @@ module Twilio
189
196
  # @return [MemberContext] MemberContext
190
197
  def initialize(version, service_sid, channel_sid, sid)
191
198
  super(version)
192
-
199
+
193
200
  # Path Solution
194
201
  @solution = {
195
202
  service_sid: service_sid,
@@ -198,19 +205,19 @@ module Twilio
198
205
  }
199
206
  @uri = "/Services/#{@solution[:service_sid]}/Channels/#{@solution[:channel_sid]}/Members/#{@solution[:sid]}"
200
207
  end
201
-
208
+
202
209
  ##
203
210
  # Fetch a MemberInstance
204
211
  # @return [MemberInstance] Fetched MemberInstance
205
212
  def fetch
206
213
  params = {}
207
-
214
+
208
215
  payload = @version.fetch(
209
216
  'GET',
210
217
  @uri,
211
218
  params,
212
219
  )
213
-
220
+
214
221
  return MemberInstance.new(
215
222
  @version,
216
223
  payload,
@@ -219,14 +226,40 @@ module Twilio
219
226
  sid: @solution[:sid],
220
227
  )
221
228
  end
222
-
229
+
223
230
  ##
224
231
  # Deletes the MemberInstance
225
232
  # @return [Boolean] true if delete succeeds, true otherwise
226
233
  def delete
227
234
  return @version.delete('delete', @uri)
228
235
  end
229
-
236
+
237
+ ##
238
+ # Update the MemberInstance
239
+ # @param [String] role_sid The role_sid
240
+ # @param [String] last_consumed_message_index The last_consumed_message_index
241
+ # @return [MemberInstance] Updated MemberInstance
242
+ def update(role_sid: nil, last_consumed_message_index: nil)
243
+ data = {
244
+ 'RoleSid' => role_sid,
245
+ 'LastConsumedMessageIndex' => last_consumed_message_index,
246
+ }
247
+
248
+ payload = @version.update(
249
+ 'POST',
250
+ @uri,
251
+ data: data,
252
+ )
253
+
254
+ return MemberInstance.new(
255
+ @version,
256
+ payload,
257
+ service_sid: @solution[:service_sid],
258
+ channel_sid: @solution[:channel_sid],
259
+ sid: @solution[:sid],
260
+ )
261
+ end
262
+
230
263
  ##
231
264
  # Provide a user friendly representation
232
265
  def to_s
@@ -234,7 +267,7 @@ module Twilio
234
267
  "#<Twilio.Chat.V1.MemberContext #{context}>"
235
268
  end
236
269
  end
237
-
270
+
238
271
  class MemberInstance < InstanceResource
239
272
  ##
240
273
  # Initialize the MemberInstance
@@ -246,7 +279,7 @@ module Twilio
246
279
  # @return [MemberInstance] MemberInstance
247
280
  def initialize(version, payload, service_sid: nil, channel_sid: nil, sid: nil)
248
281
  super(version)
249
-
282
+
250
283
  # Marshaled Properties
251
284
  @properties = {
252
285
  'sid' => payload['sid'],
@@ -257,9 +290,11 @@ module Twilio
257
290
  'date_created' => Twilio.deserialize_iso8601(payload['date_created']),
258
291
  'date_updated' => Twilio.deserialize_iso8601(payload['date_updated']),
259
292
  'role_sid' => payload['role_sid'],
293
+ 'last_consumed_message_index' => payload['last_consumed_message_index'] == nil ? payload['last_consumed_message_index'] : payload['last_consumed_message_index'].to_i,
294
+ 'last_consumption_timestamp' => Twilio.deserialize_iso8601(payload['last_consumption_timestamp']),
260
295
  'url' => payload['url'],
261
296
  }
262
-
297
+
263
298
  # Context
264
299
  @instance_context = nil
265
300
  @params = {
@@ -268,7 +303,7 @@ module Twilio
268
303
  'sid' => sid || @properties['sid'],
269
304
  }
270
305
  end
271
-
306
+
272
307
  ##
273
308
  # Generate an instance context for the instance, the context is capable of
274
309
  # performing various actions. All instance actions are proxied to the context
@@ -285,57 +320,77 @@ module Twilio
285
320
  end
286
321
  @instance_context
287
322
  end
288
-
323
+
289
324
  def sid
290
325
  @properties['sid']
291
326
  end
292
-
327
+
293
328
  def account_sid
294
329
  @properties['account_sid']
295
330
  end
296
-
331
+
297
332
  def channel_sid
298
333
  @properties['channel_sid']
299
334
  end
300
-
335
+
301
336
  def service_sid
302
337
  @properties['service_sid']
303
338
  end
304
-
339
+
305
340
  def identity
306
341
  @properties['identity']
307
342
  end
308
-
343
+
309
344
  def date_created
310
345
  @properties['date_created']
311
346
  end
312
-
347
+
313
348
  def date_updated
314
349
  @properties['date_updated']
315
350
  end
316
-
351
+
317
352
  def role_sid
318
353
  @properties['role_sid']
319
354
  end
320
-
355
+
356
+ def last_consumed_message_index
357
+ @properties['last_consumed_message_index']
358
+ end
359
+
360
+ def last_consumption_timestamp
361
+ @properties['last_consumption_timestamp']
362
+ end
363
+
321
364
  def url
322
365
  @properties['url']
323
366
  end
324
-
367
+
325
368
  ##
326
369
  # Fetch a MemberInstance
327
370
  # @return [MemberInstance] Fetched MemberInstance
328
371
  def fetch
329
372
  context.fetch
330
373
  end
331
-
374
+
332
375
  ##
333
376
  # Deletes the MemberInstance
334
377
  # @return [Boolean] true if delete succeeds, true otherwise
335
378
  def delete
336
379
  context.delete
337
380
  end
338
-
381
+
382
+ ##
383
+ # Update the MemberInstance
384
+ # @param [String] role_sid The role_sid
385
+ # @param [String] last_consumed_message_index The last_consumed_message_index
386
+ # @return [MemberInstance] Updated MemberInstance
387
+ def update(role_sid: nil, last_consumed_message_index: nil)
388
+ context.update(
389
+ role_sid: role_sid,
390
+ last_consumed_message_index: last_consumed_message_index,
391
+ )
392
+ end
393
+
339
394
  ##
340
395
  # Provide a user friendly representation
341
396
  def to_s