twilio-ruby 5.0.0.alpha1 → 5.0.0.rc2

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 (493) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +11 -2
  3. data/AUTHORS.md +32 -46
  4. data/CHANGES.md +1 -124
  5. data/Gemfile +2 -2
  6. data/LICENSE.md +12 -12
  7. data/Makefile +2 -15
  8. data/README.md +37 -29
  9. data/Rakefile +0 -54
  10. data/examples/examples.rb +57 -46
  11. data/examples/{print_call_log.rb → print-call-log.rb} +7 -7
  12. data/lib/rack/twilio_webhook_authentication.rb +6 -5
  13. data/lib/twilio-ruby.rb +16 -17
  14. data/lib/twilio-ruby/compatibility/v2010/account/call/feedback.rb +15 -0
  15. data/lib/twilio-ruby/compatibility/v2010/account/queue/member.rb +23 -0
  16. data/lib/twilio-ruby/framework/domain.rb +2 -2
  17. data/lib/twilio-ruby/framework/exception.rb +14 -0
  18. data/lib/twilio-ruby/framework/helper.rb +1 -1
  19. data/lib/twilio-ruby/framework/page.rb +30 -28
  20. data/lib/twilio-ruby/framework/resource.rb +2 -2
  21. data/lib/twilio-ruby/framework/serialize.rb +7 -58
  22. data/lib/twilio-ruby/framework/twilio_response.rb +1 -1
  23. data/lib/twilio-ruby/framework/version.rb +48 -43
  24. data/lib/twilio-ruby/http/http_client.rb +8 -8
  25. data/lib/twilio-ruby/rest/api.rb +33 -141
  26. data/lib/twilio-ruby/rest/api/v2010.rb +31 -50
  27. data/lib/twilio-ruby/rest/api/v2010/account.rb +239 -389
  28. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +122 -145
  29. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +56 -76
  30. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +127 -144
  31. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +83 -85
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +97 -92
  33. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +77 -142
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +77 -142
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +77 -142
  36. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +184 -232
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +84 -73
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +80 -85
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +115 -126
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +99 -114
  41. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +112 -150
  42. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +109 -228
  43. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +98 -101
  44. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +164 -287
  45. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +90 -152
  46. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +90 -152
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +90 -152
  48. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +138 -195
  49. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +100 -90
  50. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +106 -118
  51. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +105 -96
  52. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +117 -119
  53. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +95 -84
  54. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +103 -194
  55. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +93 -100
  56. data/lib/twilio-ruby/rest/api/v2010/account/sandbox.rb +304 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +30 -42
  58. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +113 -111
  59. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +115 -104
  60. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +133 -159
  61. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +96 -94
  62. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +96 -94
  63. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +114 -111
  64. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +113 -108
  65. data/lib/twilio-ruby/rest/api/v2010/account/sms.rb +140 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/sms/short_code.rb +431 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/sms/sms_message.rb +467 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +34 -41
  69. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +90 -98
  70. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +24 -21
  71. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +118 -139
  72. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +62 -106
  73. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +62 -106
  74. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +62 -106
  75. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +62 -106
  76. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +62 -106
  77. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +62 -106
  78. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +62 -106
  79. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +62 -106
  80. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +124 -130
  81. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +31 -35
  82. data/lib/twilio-ruby/rest/client.rb +88 -249
  83. data/lib/twilio-ruby/rest/{accounts.rb → conversations.rb} +14 -16
  84. data/lib/twilio-ruby/rest/conversations/v1.rb +35 -0
  85. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +270 -0
  86. data/lib/twilio-ruby/rest/{notify/v1/service/segment.rb → conversations/v1/conversation/completed.rb} +101 -101
  87. data/lib/twilio-ruby/rest/{preview/bulk_exports/export/day.rb → conversations/v1/conversation/in_progress.rb} +109 -95
  88. data/lib/twilio-ruby/rest/{messaging/v1/service/phone_number.rb → conversations/v1/conversation/participant.rb} +171 -178
  89. data/lib/twilio-ruby/rest/ip_messaging.rb +11 -26
  90. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +7 -19
  91. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +112 -113
  92. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +131 -542
  93. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +132 -194
  94. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +103 -159
  95. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +102 -183
  96. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +112 -107
  97. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +113 -186
  98. data/lib/twilio-ruby/rest/lookups.rb +8 -12
  99. data/lib/twilio-ruby/rest/lookups/v1.rb +7 -13
  100. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +54 -71
  101. data/lib/twilio-ruby/rest/monitor.rb +11 -19
  102. data/lib/twilio-ruby/rest/monitor/v1.rb +7 -19
  103. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +133 -121
  104. data/lib/twilio-ruby/rest/monitor/v1/event.rb +127 -116
  105. data/lib/twilio-ruby/rest/pricing.rb +11 -17
  106. data/lib/twilio-ruby/rest/pricing/v1.rb +9 -21
  107. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +23 -27
  108. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +74 -71
  109. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +23 -27
  110. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +79 -69
  111. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +27 -33
  112. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +74 -71
  113. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +52 -47
  114. data/lib/twilio-ruby/rest/taskrouter.rb +8 -12
  115. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -11
  116. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +153 -260
  117. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +114 -115
  118. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +101 -105
  119. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +139 -216
  120. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +106 -194
  121. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +145 -187
  122. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +65 -57
  123. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +57 -62
  124. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +135 -217
  125. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +60 -54
  126. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +56 -52
  127. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +123 -140
  128. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +61 -57
  129. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +72 -52
  130. data/lib/twilio-ruby/rest/trunking.rb +8 -12
  131. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -11
  132. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +134 -157
  133. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +93 -89
  134. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +93 -89
  135. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +111 -114
  136. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +112 -146
  137. data/lib/twilio-ruby/task_router.rb +0 -0
  138. data/lib/twilio-ruby/task_router/capability.rb +87 -0
  139. data/lib/twilio-ruby/twiml/response.rb +16 -0
  140. data/lib/twilio-ruby/util.rb +1 -1
  141. data/lib/twilio-ruby/util/access_token.rb +70 -0
  142. data/lib/twilio-ruby/util/capability.rb +64 -0
  143. data/lib/twilio-ruby/util/client_config.rb +29 -0
  144. data/lib/twilio-ruby/{security → util}/request_validator.rb +4 -21
  145. data/lib/twilio-ruby/version.rb +1 -1
  146. data/spec/holodeck/holodeck.rb +6 -6
  147. data/spec/holodeck/hologram.rb +1 -0
  148. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +8 -8
  149. data/spec/integration/api/v2010/account/address_spec.rb +29 -37
  150. data/spec/integration/api/v2010/account/application_spec.rb +29 -29
  151. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +13 -13
  152. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +8 -9
  153. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +8 -9
  154. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +8 -9
  155. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +13 -13
  156. data/spec/integration/api/v2010/account/call/feedback_spec.rb +17 -17
  157. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +19 -19
  158. data/spec/integration/api/v2010/account/call/notification_spec.rb +18 -18
  159. data/spec/integration/api/v2010/account/call/recording_spec.rb +20 -32
  160. data/spec/integration/api/v2010/account/call_spec.rb +29 -29
  161. data/spec/integration/api/v2010/account/conference/participant_spec.rb +35 -107
  162. data/spec/integration/api/v2010/account/conference_spec.rb +19 -58
  163. data/spec/integration/api/v2010/account/connect_app_spec.rb +18 -18
  164. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +14 -16
  165. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +14 -16
  166. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +14 -16
  167. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +29 -41
  168. data/spec/integration/api/v2010/account/message/media_spec.rb +18 -18
  169. data/spec/integration/api/v2010/account/message_spec.rb +35 -41
  170. data/spec/integration/api/v2010/account/notification_spec.rb +18 -18
  171. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +23 -23
  172. data/spec/integration/api/v2010/account/queue/member_spec.rb +18 -18
  173. data/spec/integration/api/v2010/account/queue_spec.rb +32 -35
  174. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +18 -18
  175. data/spec/integration/api/v2010/account/recording_spec.rb +21 -42
  176. data/spec/integration/api/v2010/account/sandbox_spec.rb +99 -0
  177. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +36 -32
  178. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +29 -29
  179. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +24 -24
  180. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +24 -24
  181. data/spec/integration/api/v2010/account/sip/domain_spec.rb +29 -29
  182. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +36 -32
  183. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +29 -29
  184. data/spec/integration/api/v2010/account/sip_spec.rb +1 -1
  185. data/spec/integration/api/v2010/account/{short_code_spec.rb → sms/short_code_spec.rb} +25 -18
  186. data/spec/integration/api/v2010/account/sms/sms_message_spec.rb +275 -0
  187. data/spec/integration/{accounts/v1/credential_spec.rb → api/v2010/account/sms_spec.rb} +2 -2
  188. data/spec/integration/api/v2010/account/token_spec.rb +7 -7
  189. data/spec/integration/api/v2010/account/transcription_spec.rb +18 -18
  190. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +8 -8
  191. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +8 -8
  192. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +8 -8
  193. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +8 -8
  194. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +8 -8
  195. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +8 -8
  196. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +8 -8
  197. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +8 -8
  198. data/spec/integration/api/v2010/account/usage/record_spec.rb +8 -8
  199. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +32 -32
  200. data/spec/integration/api/v2010/account/usage_spec.rb +1 -1
  201. data/spec/integration/api/v2010/account/validation_request_spec.rb +4 -24
  202. data/spec/integration/api/v2010/account_spec.rb +28 -24
  203. data/spec/integration/conversations/v1/conversation/completed_spec.rb +89 -0
  204. data/spec/integration/conversations/v1/conversation/in_progress_spec.rb +89 -0
  205. data/spec/integration/conversations/v1/conversation/participant_spec.rb +174 -0
  206. data/spec/integration/conversations/v1/conversation_spec.rb +49 -0
  207. data/spec/integration/ip_messaging/v1/credential_spec.rb +24 -155
  208. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +13 -217
  209. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +10 -241
  210. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +23 -205
  211. data/spec/integration/ip_messaging/v1/service/role_spec.rb +19 -184
  212. data/spec/integration/ip_messaging/v1/service/user_spec.rb +24 -194
  213. data/spec/integration/ip_messaging/v1/service_spec.rb +17 -229
  214. data/spec/integration/lookups/v1/phone_number_spec.rb +6 -17
  215. data/spec/integration/monitor/v1/alert_spec.rb +60 -60
  216. data/spec/integration/monitor/v1/event_spec.rb +13 -13
  217. data/spec/integration/pricing/v1/messaging/country_spec.rb +7 -103
  218. data/spec/integration/pricing/v1/messaging_spec.rb +1 -1
  219. data/spec/integration/pricing/v1/phone_number/country_spec.rb +13 -13
  220. data/spec/integration/pricing/v1/phone_number_spec.rb +1 -1
  221. data/spec/integration/pricing/v1/voice/country_spec.rb +13 -13
  222. data/spec/integration/pricing/v1/voice/number_spec.rb +6 -6
  223. data/spec/integration/pricing/v1/voice_spec.rb +1 -1
  224. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +38 -34
  225. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +13 -13
  226. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +24 -21
  227. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +11 -13
  228. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +17 -18
  229. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +41 -57
  230. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +50 -113
  231. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +6 -7
  232. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +6 -7
  233. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +68 -96
  234. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +12 -14
  235. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +43 -54
  236. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +9 -11
  237. data/spec/integration/taskrouter/v1/workspace_spec.rb +51 -71
  238. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +24 -24
  239. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +66 -66
  240. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +28 -28
  241. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +23 -23
  242. data/spec/integration/trunking/v1/trunk_spec.rb +28 -28
  243. data/spec/rack/twilio_webhook_authentication_spec.rb +23 -19
  244. data/spec/spec_helper.rb +2 -2
  245. data/spec/support/fakeweb.rb +1 -1
  246. data/spec/task_router_spec.rb +114 -0
  247. data/spec/util/access_token_spec.rb +103 -0
  248. data/spec/util/capability_spec.rb +186 -0
  249. data/spec/util/client_config_spec.rb +21 -0
  250. data/spec/{security → util}/request_validator_spec.rb +5 -5
  251. data/twilio-ruby.gemspec +8 -12
  252. metadata +90 -416
  253. data/.rubocop.yml +0 -21
  254. data/.rubocop_todo.yml +0 -187
  255. data/VERSIONS.md +0 -64
  256. data/lib/twilio-ruby/framework/error.rb +0 -30
  257. data/lib/twilio-ruby/framework/values.rb +0 -7
  258. data/lib/twilio-ruby/jwt/access_token.rb +0 -232
  259. data/lib/twilio-ruby/jwt/client_capability.rb +0 -102
  260. data/lib/twilio-ruby/jwt/jwt.rb +0 -50
  261. data/lib/twilio-ruby/jwt/task_router.rb +0 -174
  262. data/lib/twilio-ruby/rest/accounts/v1.rb +0 -39
  263. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +0 -105
  264. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +0 -370
  265. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +0 -431
  266. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +0 -350
  267. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +0 -336
  268. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +0 -165
  269. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +0 -153
  270. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +0 -153
  271. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +0 -397
  272. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +0 -378
  273. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +0 -430
  274. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +0 -336
  275. data/lib/twilio-ruby/rest/chat.rb +0 -59
  276. data/lib/twilio-ruby/rest/chat/v1.rb +0 -56
  277. data/lib/twilio-ruby/rest/chat/v1/credential.rb +0 -403
  278. data/lib/twilio-ruby/rest/chat/v1/service.rb +0 -935
  279. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +0 -554
  280. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +0 -386
  281. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +0 -431
  282. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +0 -447
  283. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +0 -396
  284. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +0 -467
  285. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +0 -244
  286. data/lib/twilio-ruby/rest/chat/v2.rb +0 -56
  287. data/lib/twilio-ruby/rest/chat/v2/credential.rb +0 -403
  288. data/lib/twilio-ruby/rest/chat/v2/service.rb +0 -688
  289. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +0 -554
  290. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +0 -386
  291. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +0 -431
  292. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +0 -447
  293. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +0 -396
  294. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +0 -467
  295. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +0 -244
  296. data/lib/twilio-ruby/rest/fax.rb +0 -44
  297. data/lib/twilio-ruby/rest/fax/v1.rb +0 -41
  298. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -541
  299. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -326
  300. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +0 -386
  301. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +0 -244
  302. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +0 -56
  303. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +0 -403
  304. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +0 -688
  305. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +0 -554
  306. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +0 -386
  307. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +0 -431
  308. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +0 -447
  309. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +0 -396
  310. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +0 -467
  311. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +0 -244
  312. data/lib/twilio-ruby/rest/messaging.rb +0 -44
  313. data/lib/twilio-ruby/rest/messaging/v1.rb +0 -41
  314. data/lib/twilio-ruby/rest/messaging/v1/service.rb +0 -637
  315. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +0 -352
  316. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +0 -359
  317. data/lib/twilio-ruby/rest/notify.rb +0 -52
  318. data/lib/twilio-ruby/rest/notify/v1.rb +0 -56
  319. data/lib/twilio-ruby/rest/notify/v1/credential.rb +0 -403
  320. data/lib/twilio-ruby/rest/notify/v1/service.rb +0 -639
  321. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +0 -430
  322. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +0 -288
  323. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +0 -445
  324. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +0 -254
  325. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +0 -434
  326. data/lib/twilio-ruby/rest/preview.rb +0 -145
  327. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -56
  328. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -203
  329. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -243
  330. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +0 -42
  331. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +0 -557
  332. data/lib/twilio-ruby/rest/preview/marketplace.rb +0 -58
  333. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +0 -333
  334. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +0 -301
  335. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +0 -440
  336. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +0 -341
  337. data/lib/twilio-ruby/rest/preview/proxy.rb +0 -41
  338. data/lib/twilio-ruby/rest/preview/proxy/service.rb +0 -500
  339. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +0 -359
  340. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +0 -536
  341. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +0 -429
  342. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +0 -506
  343. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +0 -452
  344. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +0 -359
  345. data/lib/twilio-ruby/rest/preview/sync.rb +0 -41
  346. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -504
  347. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -445
  348. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -395
  349. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -438
  350. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -430
  351. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -395
  352. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -438
  353. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -432
  354. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -395
  355. data/lib/twilio-ruby/rest/preview/wireless.rb +0 -71
  356. data/lib/twilio-ruby/rest/preview/wireless/command.rb +0 -382
  357. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +0 -435
  358. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +0 -544
  359. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +0 -236
  360. data/lib/twilio-ruby/rest/sync.rb +0 -44
  361. data/lib/twilio-ruby/rest/sync/v1.rb +0 -41
  362. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -504
  363. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +0 -445
  364. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -395
  365. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +0 -438
  366. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +0 -430
  367. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -395
  368. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +0 -438
  369. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +0 -432
  370. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +0 -395
  371. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +0 -315
  372. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +0 -461
  373. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +0 -406
  374. data/lib/twilio-ruby/rest/video.rb +0 -52
  375. data/lib/twilio-ruby/rest/video/v1.rb +0 -56
  376. data/lib/twilio-ruby/rest/video/v1/recording.rb +0 -382
  377. data/lib/twilio-ruby/rest/video/v1/room.rb +0 -485
  378. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -381
  379. data/lib/twilio-ruby/rest/wireless.rb +0 -60
  380. data/lib/twilio-ruby/rest/wireless/v1.rb +0 -71
  381. data/lib/twilio-ruby/rest/wireless/v1/command.rb +0 -367
  382. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +0 -452
  383. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +0 -548
  384. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +0 -235
  385. data/lib/twilio-ruby/twiml/messaging_response.rb +0 -141
  386. data/lib/twilio-ruby/twiml/twiml.rb +0 -69
  387. data/lib/twilio-ruby/twiml/voice_response.rb +0 -916
  388. data/spec/framework/serialize_spec.rb +0 -59
  389. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
  390. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  391. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  392. data/spec/integration/api/v2010/account/key_spec.rb +0 -178
  393. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -48
  394. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -45
  395. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -45
  396. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -175
  397. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -166
  398. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -178
  399. data/spec/integration/chat/v1/credential_spec.rb +0 -223
  400. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
  401. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
  402. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
  403. data/spec/integration/chat/v1/service/channel_spec.rb +0 -275
  404. data/spec/integration/chat/v1/service/role_spec.rb +0 -263
  405. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -92
  406. data/spec/integration/chat/v1/service/user_spec.rb +0 -266
  407. data/spec/integration/chat/v1/service_spec.rb +0 -299
  408. data/spec/integration/chat/v2/credential_spec.rb +0 -223
  409. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
  410. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -284
  411. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -294
  412. data/spec/integration/chat/v2/service/channel_spec.rb +0 -275
  413. data/spec/integration/chat/v2/service/role_spec.rb +0 -263
  414. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -92
  415. data/spec/integration/chat/v2/service/user_spec.rb +0 -266
  416. data/spec/integration/chat/v2/service_spec.rb +0 -325
  417. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -126
  418. data/spec/integration/fax/v1/fax_spec.rb +0 -272
  419. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
  420. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -92
  421. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
  422. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
  423. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -284
  424. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -294
  425. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -275
  426. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
  427. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -92
  428. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -266
  429. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -325
  430. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  431. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  432. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  433. data/spec/integration/messaging/v1/service_spec.rb +0 -263
  434. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  435. data/spec/integration/notify/v1/service/binding_spec.rb +0 -227
  436. data/spec/integration/notify/v1/service/notification_spec.rb +0 -97
  437. data/spec/integration/notify/v1/service/segment_spec.rb +0 -84
  438. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +0 -118
  439. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +0 -269
  440. data/spec/integration/notify/v1/service/user_spec.rb +0 -213
  441. data/spec/integration/notify/v1/service_spec.rb +0 -280
  442. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -56
  443. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  444. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -43
  445. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -280
  446. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  447. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  448. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  449. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -252
  450. data/spec/integration/preview/proxy/service/phone_number_spec.rb +0 -173
  451. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +0 -104
  452. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +0 -164
  453. data/spec/integration/preview/proxy/service/session/participant_spec.rb +0 -226
  454. data/spec/integration/preview/proxy/service/session_spec.rb +0 -216
  455. data/spec/integration/preview/proxy/service/short_code_spec.rb +0 -173
  456. data/spec/integration/preview/proxy/service_spec.rb +0 -200
  457. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -206
  458. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  459. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -256
  460. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -206
  461. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -207
  462. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -257
  463. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -206
  464. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -207
  465. data/spec/integration/preview/sync/service_spec.rb +0 -244
  466. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  467. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -260
  468. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -49
  469. data/spec/integration/preview/wireless/sim_spec.rb +0 -208
  470. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -206
  471. data/spec/integration/sync/v1/service/document_spec.rb +0 -254
  472. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -256
  473. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -206
  474. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -207
  475. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  476. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -206
  477. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -207
  478. data/spec/integration/sync/v1/service_spec.rb +0 -244
  479. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -127
  480. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -192
  481. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -201
  482. data/spec/integration/video/v1/recording_spec.rb +0 -165
  483. data/spec/integration/video/v1/room/recording_spec.rb +0 -146
  484. data/spec/integration/video/v1/room_spec.rb +0 -237
  485. data/spec/integration/wireless/v1/command_spec.rb +0 -166
  486. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -268
  487. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -65
  488. data/spec/integration/wireless/v1/sim_spec.rb +0 -208
  489. data/spec/jwt/access_token_spec.rb +0 -130
  490. data/spec/jwt/client_capability_spec.rb +0 -104
  491. data/spec/jwt/task_router_spec.rb +0 -172
  492. data/spec/twiml/messaging_response_spec.rb +0 -90
  493. data/spec/twiml/voice_response_spec.rb +0 -474
@@ -1,688 +0,0 @@
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 V2 < Version
11
- class ServiceList < ListResource
12
- ##
13
- # Initialize the ServiceList
14
- # @param [Version] version Version that contains the resource
15
- # @return [ServiceList] ServiceList
16
- def initialize(version)
17
- super(version)
18
-
19
- # Path Solution
20
- @solution = {}
21
- @uri = "/Services"
22
- end
23
-
24
- ##
25
- # Retrieve a single page of ServiceInstance records from the API.
26
- # Request is executed immediately.
27
- # @param [String] friendly_name The friendly_name
28
- # @return [ServiceInstance] Newly created ServiceInstance
29
- def create(friendly_name: nil)
30
- data = Twilio::Values.of({
31
- 'FriendlyName' => friendly_name,
32
- })
33
-
34
- payload = @version.create(
35
- 'POST',
36
- @uri,
37
- data: data
38
- )
39
-
40
- ServiceInstance.new(
41
- @version,
42
- payload,
43
- )
44
- end
45
-
46
- ##
47
- # Lists ServiceInstance records from the API as a list.
48
- # Unlike stream(), this operation is eager and will load `limit` records into
49
- # memory before returning.
50
- # @param [Integer] limit Upper limit for the number of records to return. stream()
51
- # guarantees to never return more than limit. Default is no limit
52
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
53
- # the default value of 50 records. If no page_size is defined
54
- # but a limit is defined, stream() will attempt to read the
55
- # limit with the most efficient page size, i.e. min(limit, 1000)
56
- # @return [Array] Array of up to limit results
57
- def list(limit: nil, page_size: nil)
58
- self.stream(
59
- limit: limit,
60
- page_size: page_size
61
- ).entries
62
- end
63
-
64
- ##
65
- # Streams ServiceInstance records from the API as an Enumerable.
66
- # This operation lazily loads records as efficiently as possible until the limit
67
- # is reached.
68
- # @param [Integer] limit Upper limit for the number of records to return. stream()
69
- # guarantees to never return more than limit. Default is no limit
70
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
71
- # the default value of 50 records. If no page_size is defined
72
- # but a limit is defined, stream() will attempt to read the
73
- # limit with the most efficient page size, i.e. min(limit, 1000)
74
- # @return [Enumerable] Enumerable that will yield up to limit results
75
- def stream(limit: nil, page_size: nil)
76
- limits = @version.read_limits(limit, page_size)
77
-
78
- page = self.page(
79
- page_size: limits[:page_size],
80
- )
81
-
82
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
83
- end
84
-
85
- ##
86
- # When passed a block, yields ServiceInstance records from the API.
87
- # This operation lazily loads records as efficiently as possible until the limit
88
- # is reached.
89
- def each
90
- limits = @version.read_limits
91
-
92
- page = self.page(
93
- page_size: limits[:page_size],
94
- )
95
-
96
- @version.stream(page,
97
- limit: limits[:limit],
98
- page_limit: limits[:page_limit]).each {|x| yield x}
99
- end
100
-
101
- ##
102
- # Retrieve a single page of ServiceInstance records from the API.
103
- # Request is executed immediately.
104
- # @param [String] page_token PageToken provided by the API
105
- # @param [Integer] page_number Page Number, this value is simply for client state
106
- # @param [Integer] page_size Number of records to return, defaults to 50
107
- # @return [Page] Page of ServiceInstance
108
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
109
- params = Twilio::Values.of({
110
- 'PageToken' => page_token,
111
- 'Page' => page_number,
112
- 'PageSize' => page_size,
113
- })
114
- response = @version.page(
115
- 'GET',
116
- @uri,
117
- params
118
- )
119
- ServicePage.new(@version, response, @solution)
120
- end
121
-
122
- ##
123
- # Retrieve a single page of ServiceInstance records from the API.
124
- # Request is executed immediately.
125
- # @param [String] target_url API-generated URL for the requested results page
126
- # @return [Page] Page of ServiceInstance
127
- def get_page(target_url)
128
- response = @version.domain.request(
129
- 'GET',
130
- target_url
131
- )
132
- ServicePage.new(@version, response, @solution)
133
- end
134
-
135
- ##
136
- # Provide a user friendly representation
137
- def to_s
138
- '#<Twilio.Chat.V2.ServiceList>'
139
- end
140
- end
141
-
142
- class ServicePage < Page
143
- ##
144
- # Initialize the ServicePage
145
- # @param [Version] version Version that contains the resource
146
- # @param [Response] response Response from the API
147
- # @param [Hash] solution Path solution for the resource
148
- # @return [ServicePage] ServicePage
149
- def initialize(version, response, solution)
150
- super(version, response)
151
-
152
- # Path Solution
153
- @solution = solution
154
- end
155
-
156
- ##
157
- # Build an instance of ServiceInstance
158
- # @param [Hash] payload Payload response from the API
159
- # @return [ServiceInstance] ServiceInstance
160
- def get_instance(payload)
161
- ServiceInstance.new(
162
- @version,
163
- payload,
164
- )
165
- end
166
-
167
- ##
168
- # Provide a user friendly representation
169
- def to_s
170
- '<Twilio.Chat.V2.ServicePage>'
171
- end
172
- end
173
-
174
- class ServiceContext < InstanceContext
175
- ##
176
- # Initialize the ServiceContext
177
- # @param [Version] version Version that contains the resource
178
- # @param [String] sid The sid
179
- # @return [ServiceContext] ServiceContext
180
- def initialize(version, sid)
181
- super(version)
182
-
183
- # Path Solution
184
- @solution = {
185
- sid: sid,
186
- }
187
- @uri = "/Services/#{@solution[:sid]}"
188
-
189
- # Dependents
190
- @channels = nil
191
- @roles = nil
192
- @users = nil
193
- end
194
-
195
- ##
196
- # Fetch a ServiceInstance
197
- # @return [ServiceInstance] Fetched ServiceInstance
198
- def fetch
199
- params = Twilio::Values.of({})
200
-
201
- payload = @version.fetch(
202
- 'GET',
203
- @uri,
204
- params,
205
- )
206
-
207
- ServiceInstance.new(
208
- @version,
209
- payload,
210
- sid: @solution[:sid],
211
- )
212
- end
213
-
214
- ##
215
- # Deletes the ServiceInstance
216
- # @return [Boolean] true if delete succeeds, true otherwise
217
- def delete
218
- @version.delete('delete', @uri)
219
- end
220
-
221
- ##
222
- # Update the ServiceInstance
223
- # @param [String] friendly_name The friendly_name
224
- # @param [String] default_service_role_sid The default_service_role_sid
225
- # @param [String] default_channel_role_sid The default_channel_role_sid
226
- # @param [String] default_channel_creator_role_sid The
227
- # default_channel_creator_role_sid
228
- # @param [Boolean] read_status_enabled The read_status_enabled
229
- # @param [Boolean] reachability_enabled The reachability_enabled
230
- # @param [String] typing_indicator_timeout The typing_indicator_timeout
231
- # @param [String] consumption_report_interval The consumption_report_interval
232
- # @param [Boolean] notifications_new_message_enabled The
233
- # notifications.new_message.enabled
234
- # @param [String] notifications_new_message_template The
235
- # notifications.new_message.template
236
- # @param [String] notifications_new_message_sound The
237
- # notifications.new_message.sound
238
- # @param [Boolean] notifications_new_message_badge_count_enabled The
239
- # notifications.new_message.badge_count_enabled
240
- # @param [Boolean] notifications_added_to_channel_enabled The
241
- # notifications.added_to_channel.enabled
242
- # @param [String] notifications_added_to_channel_template The
243
- # notifications.added_to_channel.template
244
- # @param [String] notifications_added_to_channel_sound The
245
- # notifications.added_to_channel.sound
246
- # @param [Boolean] notifications_removed_from_channel_enabled The
247
- # notifications.removed_from_channel.enabled
248
- # @param [String] notifications_removed_from_channel_template The
249
- # notifications.removed_from_channel.template
250
- # @param [String] notifications_removed_from_channel_sound The
251
- # notifications.removed_from_channel.sound
252
- # @param [Boolean] notifications_invited_to_channel_enabled The
253
- # notifications.invited_to_channel.enabled
254
- # @param [String] notifications_invited_to_channel_template The
255
- # notifications.invited_to_channel.template
256
- # @param [String] notifications_invited_to_channel_sound The
257
- # notifications.invited_to_channel.sound
258
- # @param [String] pre_webhook_url The pre_webhook_url
259
- # @param [String] post_webhook_url The post_webhook_url
260
- # @param [String] webhook_method The webhook_method
261
- # @param [String] webhook_filters The webhook_filters
262
- # @param [String] limits_channel_members The limits.channel_members
263
- # @param [String] limits_user_channels The limits.user_channels
264
- # @return [ServiceInstance] Updated ServiceInstance
265
- def update(friendly_name: :unset, default_service_role_sid: :unset, default_channel_role_sid: :unset, default_channel_creator_role_sid: :unset, read_status_enabled: :unset, reachability_enabled: :unset, typing_indicator_timeout: :unset, consumption_report_interval: :unset, notifications_new_message_enabled: :unset, notifications_new_message_template: :unset, notifications_new_message_sound: :unset, notifications_new_message_badge_count_enabled: :unset, notifications_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_added_to_channel_sound: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_removed_from_channel_sound: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, notifications_invited_to_channel_sound: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, limits_channel_members: :unset, limits_user_channels: :unset)
266
- data = Twilio::Values.of({
267
- 'FriendlyName' => friendly_name,
268
- 'DefaultServiceRoleSid' => default_service_role_sid,
269
- 'DefaultChannelRoleSid' => default_channel_role_sid,
270
- 'DefaultChannelCreatorRoleSid' => default_channel_creator_role_sid,
271
- 'ReadStatusEnabled' => read_status_enabled,
272
- 'ReachabilityEnabled' => reachability_enabled,
273
- 'TypingIndicatorTimeout' => typing_indicator_timeout,
274
- 'ConsumptionReportInterval' => consumption_report_interval,
275
- 'Notifications.NewMessage.Enabled' => notifications_new_message_enabled,
276
- 'Notifications.NewMessage.Template' => notifications_new_message_template,
277
- 'Notifications.NewMessage.Sound' => notifications_new_message_sound,
278
- 'Notifications.NewMessage.BadgeCountEnabled' => notifications_new_message_badge_count_enabled,
279
- 'Notifications.AddedToChannel.Enabled' => notifications_added_to_channel_enabled,
280
- 'Notifications.AddedToChannel.Template' => notifications_added_to_channel_template,
281
- 'Notifications.AddedToChannel.Sound' => notifications_added_to_channel_sound,
282
- 'Notifications.RemovedFromChannel.Enabled' => notifications_removed_from_channel_enabled,
283
- 'Notifications.RemovedFromChannel.Template' => notifications_removed_from_channel_template,
284
- 'Notifications.RemovedFromChannel.Sound' => notifications_removed_from_channel_sound,
285
- 'Notifications.InvitedToChannel.Enabled' => notifications_invited_to_channel_enabled,
286
- 'Notifications.InvitedToChannel.Template' => notifications_invited_to_channel_template,
287
- 'Notifications.InvitedToChannel.Sound' => notifications_invited_to_channel_sound,
288
- 'PreWebhookUrl' => pre_webhook_url,
289
- 'PostWebhookUrl' => post_webhook_url,
290
- 'WebhookMethod' => webhook_method,
291
- 'WebhookFilters' => webhook_filters,
292
- 'Limits.ChannelMembers' => limits_channel_members,
293
- 'Limits.UserChannels' => limits_user_channels,
294
- })
295
-
296
- payload = @version.update(
297
- 'POST',
298
- @uri,
299
- data: data,
300
- )
301
-
302
- ServiceInstance.new(
303
- @version,
304
- payload,
305
- sid: @solution[:sid],
306
- )
307
- end
308
-
309
- ##
310
- # Access the channels
311
- # @return [ChannelList]
312
- # @return [ChannelContext] if sid was passed.
313
- def channels(sid=:unset)
314
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
315
-
316
- if sid != :unset
317
- return ChannelContext.new(
318
- @version,
319
- @solution[:sid],
320
- sid,
321
- )
322
- end
323
-
324
- unless @channels
325
- @channels = ChannelList.new(
326
- @version,
327
- service_sid: @solution[:sid],
328
- )
329
- end
330
-
331
- @channels
332
- end
333
-
334
- ##
335
- # Access the roles
336
- # @return [RoleList]
337
- # @return [RoleContext] if sid was passed.
338
- def roles(sid=:unset)
339
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
340
-
341
- if sid != :unset
342
- return RoleContext.new(
343
- @version,
344
- @solution[:sid],
345
- sid,
346
- )
347
- end
348
-
349
- unless @roles
350
- @roles = RoleList.new(
351
- @version,
352
- service_sid: @solution[:sid],
353
- )
354
- end
355
-
356
- @roles
357
- end
358
-
359
- ##
360
- # Access the users
361
- # @return [UserList]
362
- # @return [UserContext] if sid was passed.
363
- def users(sid=:unset)
364
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
365
-
366
- if sid != :unset
367
- return UserContext.new(
368
- @version,
369
- @solution[:sid],
370
- sid,
371
- )
372
- end
373
-
374
- unless @users
375
- @users = UserList.new(
376
- @version,
377
- service_sid: @solution[:sid],
378
- )
379
- end
380
-
381
- @users
382
- end
383
-
384
- ##
385
- # Provide a user friendly representation
386
- def to_s
387
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
388
- "#<Twilio.Chat.V2.ServiceContext #{context}>"
389
- end
390
- end
391
-
392
- class ServiceInstance < InstanceResource
393
- ##
394
- # Initialize the ServiceInstance
395
- # @param [Version] version Version that contains the resource
396
- # @param [Hash] payload payload that contains response from Twilio
397
- # @param [String] sid The sid
398
- # @return [ServiceInstance] ServiceInstance
399
- def initialize(version, payload, sid: nil)
400
- super(version)
401
-
402
- # Marshaled Properties
403
- @properties = {
404
- 'sid' => payload['sid'],
405
- 'account_sid' => payload['account_sid'],
406
- 'friendly_name' => payload['friendly_name'],
407
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
408
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
409
- 'default_service_role_sid' => payload['default_service_role_sid'],
410
- 'default_channel_role_sid' => payload['default_channel_role_sid'],
411
- 'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
412
- 'read_status_enabled' => payload['read_status_enabled'],
413
- 'reachability_enabled' => payload['reachability_enabled'],
414
- 'typing_indicator_timeout' => payload['typing_indicator_timeout'].to_i,
415
- 'consumption_report_interval' => payload['consumption_report_interval'].to_i,
416
- 'limits' => payload['limits'],
417
- 'pre_webhook_url' => payload['pre_webhook_url'],
418
- 'post_webhook_url' => payload['post_webhook_url'],
419
- 'webhook_method' => payload['webhook_method'],
420
- 'webhook_filters' => payload['webhook_filters'],
421
- 'notifications' => payload['notifications'],
422
- 'url' => payload['url'],
423
- 'links' => payload['links'],
424
- }
425
-
426
- # Context
427
- @instance_context = nil
428
- @params = {
429
- 'sid' => sid || @properties['sid'],
430
- }
431
- end
432
-
433
- ##
434
- # Generate an instance context for the instance, the context is capable of
435
- # performing various actions. All instance actions are proxied to the context
436
- # @return [ServiceContext] ServiceContext for this ServiceInstance
437
- def context
438
- unless @instance_context
439
- @instance_context = ServiceContext.new(
440
- @version,
441
- @params['sid'],
442
- )
443
- end
444
- @instance_context
445
- end
446
-
447
- ##
448
- # @return [String] The sid
449
- def sid
450
- @properties['sid']
451
- end
452
-
453
- ##
454
- # @return [String] The account_sid
455
- def account_sid
456
- @properties['account_sid']
457
- end
458
-
459
- ##
460
- # @return [String] The friendly_name
461
- def friendly_name
462
- @properties['friendly_name']
463
- end
464
-
465
- ##
466
- # @return [Time] The date_created
467
- def date_created
468
- @properties['date_created']
469
- end
470
-
471
- ##
472
- # @return [Time] The date_updated
473
- def date_updated
474
- @properties['date_updated']
475
- end
476
-
477
- ##
478
- # @return [String] The default_service_role_sid
479
- def default_service_role_sid
480
- @properties['default_service_role_sid']
481
- end
482
-
483
- ##
484
- # @return [String] The default_channel_role_sid
485
- def default_channel_role_sid
486
- @properties['default_channel_role_sid']
487
- end
488
-
489
- ##
490
- # @return [String] The default_channel_creator_role_sid
491
- def default_channel_creator_role_sid
492
- @properties['default_channel_creator_role_sid']
493
- end
494
-
495
- ##
496
- # @return [Boolean] The read_status_enabled
497
- def read_status_enabled
498
- @properties['read_status_enabled']
499
- end
500
-
501
- ##
502
- # @return [Boolean] The reachability_enabled
503
- def reachability_enabled
504
- @properties['reachability_enabled']
505
- end
506
-
507
- ##
508
- # @return [String] The typing_indicator_timeout
509
- def typing_indicator_timeout
510
- @properties['typing_indicator_timeout']
511
- end
512
-
513
- ##
514
- # @return [String] The consumption_report_interval
515
- def consumption_report_interval
516
- @properties['consumption_report_interval']
517
- end
518
-
519
- ##
520
- # @return [Hash] The limits
521
- def limits
522
- @properties['limits']
523
- end
524
-
525
- ##
526
- # @return [String] The pre_webhook_url
527
- def pre_webhook_url
528
- @properties['pre_webhook_url']
529
- end
530
-
531
- ##
532
- # @return [String] The post_webhook_url
533
- def post_webhook_url
534
- @properties['post_webhook_url']
535
- end
536
-
537
- ##
538
- # @return [String] The webhook_method
539
- def webhook_method
540
- @properties['webhook_method']
541
- end
542
-
543
- ##
544
- # @return [String] The webhook_filters
545
- def webhook_filters
546
- @properties['webhook_filters']
547
- end
548
-
549
- ##
550
- # @return [Hash] The notifications
551
- def notifications
552
- @properties['notifications']
553
- end
554
-
555
- ##
556
- # @return [String] The url
557
- def url
558
- @properties['url']
559
- end
560
-
561
- ##
562
- # @return [String] The links
563
- def links
564
- @properties['links']
565
- end
566
-
567
- ##
568
- # Fetch a ServiceInstance
569
- # @return [ServiceInstance] Fetched ServiceInstance
570
- def fetch
571
- context.fetch
572
- end
573
-
574
- ##
575
- # Deletes the ServiceInstance
576
- # @return [Boolean] true if delete succeeds, true otherwise
577
- def delete
578
- context.delete
579
- end
580
-
581
- ##
582
- # Update the ServiceInstance
583
- # @param [String] friendly_name The friendly_name
584
- # @param [String] default_service_role_sid The default_service_role_sid
585
- # @param [String] default_channel_role_sid The default_channel_role_sid
586
- # @param [String] default_channel_creator_role_sid The
587
- # default_channel_creator_role_sid
588
- # @param [Boolean] read_status_enabled The read_status_enabled
589
- # @param [Boolean] reachability_enabled The reachability_enabled
590
- # @param [String] typing_indicator_timeout The typing_indicator_timeout
591
- # @param [String] consumption_report_interval The consumption_report_interval
592
- # @param [Boolean] notifications_new_message_enabled The
593
- # notifications.new_message.enabled
594
- # @param [String] notifications_new_message_template The
595
- # notifications.new_message.template
596
- # @param [String] notifications_new_message_sound The
597
- # notifications.new_message.sound
598
- # @param [Boolean] notifications_new_message_badge_count_enabled The
599
- # notifications.new_message.badge_count_enabled
600
- # @param [Boolean] notifications_added_to_channel_enabled The
601
- # notifications.added_to_channel.enabled
602
- # @param [String] notifications_added_to_channel_template The
603
- # notifications.added_to_channel.template
604
- # @param [String] notifications_added_to_channel_sound The
605
- # notifications.added_to_channel.sound
606
- # @param [Boolean] notifications_removed_from_channel_enabled The
607
- # notifications.removed_from_channel.enabled
608
- # @param [String] notifications_removed_from_channel_template The
609
- # notifications.removed_from_channel.template
610
- # @param [String] notifications_removed_from_channel_sound The
611
- # notifications.removed_from_channel.sound
612
- # @param [Boolean] notifications_invited_to_channel_enabled The
613
- # notifications.invited_to_channel.enabled
614
- # @param [String] notifications_invited_to_channel_template The
615
- # notifications.invited_to_channel.template
616
- # @param [String] notifications_invited_to_channel_sound The
617
- # notifications.invited_to_channel.sound
618
- # @param [String] pre_webhook_url The pre_webhook_url
619
- # @param [String] post_webhook_url The post_webhook_url
620
- # @param [String] webhook_method The webhook_method
621
- # @param [String] webhook_filters The webhook_filters
622
- # @param [String] limits_channel_members The limits.channel_members
623
- # @param [String] limits_user_channels The limits.user_channels
624
- # @return [ServiceInstance] Updated ServiceInstance
625
- def update(friendly_name: :unset, default_service_role_sid: :unset, default_channel_role_sid: :unset, default_channel_creator_role_sid: :unset, read_status_enabled: :unset, reachability_enabled: :unset, typing_indicator_timeout: :unset, consumption_report_interval: :unset, notifications_new_message_enabled: :unset, notifications_new_message_template: :unset, notifications_new_message_sound: :unset, notifications_new_message_badge_count_enabled: :unset, notifications_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_added_to_channel_sound: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_removed_from_channel_sound: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, notifications_invited_to_channel_sound: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, limits_channel_members: :unset, limits_user_channels: :unset)
626
- context.update(
627
- friendly_name: friendly_name,
628
- default_service_role_sid: default_service_role_sid,
629
- default_channel_role_sid: default_channel_role_sid,
630
- default_channel_creator_role_sid: default_channel_creator_role_sid,
631
- read_status_enabled: read_status_enabled,
632
- reachability_enabled: reachability_enabled,
633
- typing_indicator_timeout: typing_indicator_timeout,
634
- consumption_report_interval: consumption_report_interval,
635
- notifications_new_message_enabled: notifications_new_message_enabled,
636
- notifications_new_message_template: notifications_new_message_template,
637
- notifications_new_message_sound: notifications_new_message_sound,
638
- notifications_new_message_badge_count_enabled: notifications_new_message_badge_count_enabled,
639
- notifications_added_to_channel_enabled: notifications_added_to_channel_enabled,
640
- notifications_added_to_channel_template: notifications_added_to_channel_template,
641
- notifications_added_to_channel_sound: notifications_added_to_channel_sound,
642
- notifications_removed_from_channel_enabled: notifications_removed_from_channel_enabled,
643
- notifications_removed_from_channel_template: notifications_removed_from_channel_template,
644
- notifications_removed_from_channel_sound: notifications_removed_from_channel_sound,
645
- notifications_invited_to_channel_enabled: notifications_invited_to_channel_enabled,
646
- notifications_invited_to_channel_template: notifications_invited_to_channel_template,
647
- notifications_invited_to_channel_sound: notifications_invited_to_channel_sound,
648
- pre_webhook_url: pre_webhook_url,
649
- post_webhook_url: post_webhook_url,
650
- webhook_method: webhook_method,
651
- webhook_filters: webhook_filters,
652
- limits_channel_members: limits_channel_members,
653
- limits_user_channels: limits_user_channels,
654
- )
655
- end
656
-
657
- ##
658
- # Access the channels
659
- # @return [channels] channels
660
- def channels
661
- context.channels
662
- end
663
-
664
- ##
665
- # Access the roles
666
- # @return [roles] roles
667
- def roles
668
- context.roles
669
- end
670
-
671
- ##
672
- # Access the users
673
- # @return [users] users
674
- def users
675
- context.users
676
- end
677
-
678
- ##
679
- # Provide a user friendly representation
680
- def to_s
681
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
682
- "<Twilio.Chat.V2.ServiceInstance #{values}>"
683
- end
684
- end
685
- end
686
- end
687
- end
688
- end