twilio-ruby 5.0.0.rc26 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +21 -0
  3. data/.rubocop_todo.yml +187 -0
  4. data/.travis.yml +13 -0
  5. data/CHANGES.md +4 -0
  6. data/Gemfile +2 -2
  7. data/Makefile +8 -1
  8. data/Rakefile +3 -7
  9. data/examples/examples.rb +12 -10
  10. data/examples/{print-call-log.rb → print_call_log.rb} +4 -4
  11. data/lib/rack/twilio_webhook_authentication.rb +2 -3
  12. data/lib/twilio-ruby/framework/domain.rb +2 -6
  13. data/lib/twilio-ruby/framework/error.rb +0 -1
  14. data/lib/twilio-ruby/framework/helper.rb +1 -1
  15. data/lib/twilio-ruby/framework/page.rb +23 -25
  16. data/lib/twilio-ruby/framework/resource.rb +2 -2
  17. data/lib/twilio-ruby/framework/serialize.rb +5 -12
  18. data/lib/twilio-ruby/framework/twilio_response.rb +1 -1
  19. data/lib/twilio-ruby/framework/values.rb +2 -2
  20. data/lib/twilio-ruby/framework/version.rb +19 -37
  21. data/lib/twilio-ruby/http/http_client.rb +5 -6
  22. data/lib/twilio-ruby/jwt/access_token.rb +27 -41
  23. data/lib/twilio-ruby/jwt/client_capability.rb +11 -16
  24. data/lib/twilio-ruby/jwt/jwt.rb +7 -13
  25. data/lib/twilio-ruby/jwt/task_router.rb +40 -38
  26. data/lib/twilio-ruby/rest/accounts.rb +2 -0
  27. data/lib/twilio-ruby/rest/accounts/v1.rb +2 -0
  28. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +2 -2
  29. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +12 -7
  30. data/lib/twilio-ruby/rest/api.rb +96 -0
  31. data/lib/twilio-ruby/rest/api/v2010.rb +5 -0
  32. data/lib/twilio-ruby/rest/api/v2010/account.rb +66 -56
  33. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +30 -13
  34. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +22 -8
  35. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +40 -11
  36. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +20 -9
  37. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +16 -15
  38. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +26 -28
  39. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +26 -28
  40. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +26 -28
  41. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +64 -34
  42. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +12 -4
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +28 -3
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +37 -16
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +25 -15
  46. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +28 -27
  47. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +28 -19
  48. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +22 -9
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +62 -58
  50. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +52 -12
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +52 -12
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +52 -12
  53. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +8 -9
  54. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +47 -20
  55. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +12 -2
  56. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +17 -17
  57. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +10 -2
  58. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +10 -2
  59. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +37 -16
  60. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +14 -13
  61. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +20 -10
  62. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +10 -10
  63. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +37 -21
  64. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +22 -13
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +22 -13
  66. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +26 -9
  67. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +24 -13
  68. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +8 -9
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +8 -10
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +16 -11
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +14 -9
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +36 -13
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +14 -10
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +14 -10
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +16 -11
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +16 -9
  77. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +14 -2
  78. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +26 -9
  79. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +4 -6
  80. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +44 -33
  81. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +28 -11
  82. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +28 -11
  83. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +28 -11
  84. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +28 -11
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +28 -11
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +28 -11
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +28 -11
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +28 -11
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +32 -15
  90. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +10 -1
  91. data/lib/twilio-ruby/rest/chat.rb +8 -0
  92. data/lib/twilio-ruby/rest/chat/v1.rb +8 -0
  93. data/lib/twilio-ruby/rest/chat/v1/credential.rb +16 -7
  94. data/lib/twilio-ruby/rest/chat/v1/service.rb +48 -13
  95. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +34 -15
  96. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +20 -10
  97. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +22 -10
  98. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +26 -10
  99. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +18 -8
  100. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +30 -10
  101. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +16 -8
  102. data/lib/twilio-ruby/rest/chat/v2.rb +8 -0
  103. data/lib/twilio-ruby/rest/chat/v2/credential.rb +16 -7
  104. data/lib/twilio-ruby/rest/chat/v2/service.rb +46 -13
  105. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +34 -15
  106. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +20 -10
  107. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +22 -10
  108. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +26 -10
  109. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +18 -8
  110. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +30 -10
  111. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +16 -8
  112. data/lib/twilio-ruby/rest/client.rb +94 -45
  113. data/lib/twilio-ruby/rest/ip_messaging.rb +8 -0
  114. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +8 -0
  115. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +16 -7
  116. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +48 -13
  117. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +34 -15
  118. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +20 -10
  119. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +22 -10
  120. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +26 -10
  121. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +18 -8
  122. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +30 -10
  123. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +16 -8
  124. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +8 -0
  125. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +16 -7
  126. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +46 -13
  127. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +34 -15
  128. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +20 -10
  129. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +22 -10
  130. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +26 -10
  131. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +18 -8
  132. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +30 -10
  133. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +16 -8
  134. data/lib/twilio-ruby/rest/lookups.rb +4 -0
  135. data/lib/twilio-ruby/rest/lookups/v1.rb +9 -5
  136. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +14 -1
  137. data/lib/twilio-ruby/rest/monitor.rb +8 -0
  138. data/lib/twilio-ruby/rest/monitor/v1.rb +8 -0
  139. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +34 -10
  140. data/lib/twilio-ruby/rest/monitor/v1/event.rb +28 -13
  141. data/lib/twilio-ruby/rest/pricing.rb +6 -0
  142. data/lib/twilio-ruby/rest/pricing/v1.rb +6 -0
  143. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +8 -2
  144. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +12 -7
  145. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +8 -2
  146. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +10 -7
  147. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +10 -4
  148. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +12 -7
  149. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +14 -1
  150. data/lib/twilio-ruby/rest/taskrouter.rb +4 -0
  151. data/lib/twilio-ruby/rest/taskrouter/v1.rb +4 -0
  152. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +46 -24
  153. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +16 -10
  154. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +30 -17
  155. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +42 -19
  156. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +22 -10
  157. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +16 -8
  158. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +34 -15
  159. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +12 -3
  160. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +10 -11
  161. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +34 -23
  162. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +22 -10
  163. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +28 -9
  164. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +10 -3
  165. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +10 -2
  166. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +28 -11
  167. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +12 -3
  168. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +10 -2
  169. data/lib/twilio-ruby/rest/trunking.rb +4 -0
  170. data/lib/twilio-ruby/rest/trunking/v1.rb +4 -0
  171. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +36 -15
  172. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +14 -8
  173. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +14 -8
  174. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +22 -8
  175. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +52 -8
  176. data/lib/twilio-ruby/rest/video.rb +8 -0
  177. data/lib/twilio-ruby/rest/video/v1.rb +8 -0
  178. data/lib/twilio-ruby/rest/video/v1/recording.rb +26 -12
  179. data/lib/twilio-ruby/rest/video/v1/room.rb +34 -13
  180. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +28 -12
  181. data/lib/twilio-ruby/security/request_validator.rb +1 -2
  182. data/lib/twilio-ruby/twiml/messaging_response.rb +7 -19
  183. data/lib/twilio-ruby/twiml/twiml.rb +8 -14
  184. data/lib/twilio-ruby/twiml/voice_response.rb +157 -169
  185. data/lib/twilio-ruby/util.rb +1 -1
  186. data/lib/twilio-ruby/version.rb +1 -1
  187. data/spec/framework/serialize_spec.rb +17 -30
  188. data/spec/holodeck/holodeck.rb +6 -6
  189. data/spec/jwt/access_token_spec.rb +0 -6
  190. data/spec/jwt/client_capability_spec.rb +3 -3
  191. data/spec/jwt/task_router_spec.rb +16 -21
  192. data/spec/rack/twilio_webhook_authentication_spec.rb +12 -16
  193. data/spec/spec_helper.rb +2 -2
  194. data/spec/support/fakeweb.rb +1 -1
  195. data/spec/twiml/voice_response_spec.rb +33 -20
  196. data/twilio-ruby.gemspec +7 -3
  197. metadata +21 -193
  198. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +0 -420
  199. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +0 -345
  200. data/lib/twilio-ruby/rest/fax.rb +0 -40
  201. data/lib/twilio-ruby/rest/fax/v1.rb +0 -37
  202. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -520
  203. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -321
  204. data/lib/twilio-ruby/rest/messaging.rb +0 -40
  205. data/lib/twilio-ruby/rest/messaging/v1.rb +0 -37
  206. data/lib/twilio-ruby/rest/messaging/v1/service.rb +0 -604
  207. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +0 -344
  208. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +0 -349
  209. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +0 -349
  210. data/lib/twilio-ruby/rest/notify.rb +0 -44
  211. data/lib/twilio-ruby/rest/notify/v1.rb +0 -48
  212. data/lib/twilio-ruby/rest/notify/v1/credential.rb +0 -394
  213. data/lib/twilio-ruby/rest/notify/v1/service.rb +0 -611
  214. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +0 -414
  215. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +0 -249
  216. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +0 -219
  217. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +0 -437
  218. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +0 -247
  219. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +0 -418
  220. data/lib/twilio-ruby/rest/preview.rb +0 -107
  221. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -48
  222. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -198
  223. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -209
  224. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -232
  225. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +0 -37
  226. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +0 -539
  227. data/lib/twilio-ruby/rest/preview/marketplace.rb +0 -48
  228. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +0 -326
  229. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +0 -297
  230. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +0 -427
  231. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +0 -335
  232. data/lib/twilio-ruby/rest/preview/proxy.rb +0 -37
  233. data/lib/twilio-ruby/rest/preview/proxy/service.rb +0 -489
  234. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +0 -349
  235. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +0 -525
  236. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +0 -406
  237. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +0 -495
  238. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +0 -422
  239. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +0 -349
  240. data/lib/twilio-ruby/rest/preview/sync.rb +0 -37
  241. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -491
  242. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -431
  243. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -390
  244. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -426
  245. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -422
  246. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -390
  247. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -426
  248. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -424
  249. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -390
  250. data/lib/twilio-ruby/rest/preview/wireless.rb +0 -59
  251. data/lib/twilio-ruby/rest/preview/wireless/command.rb +0 -371
  252. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +0 -414
  253. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +0 -512
  254. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +0 -220
  255. data/lib/twilio-ruby/rest/sync.rb +0 -40
  256. data/lib/twilio-ruby/rest/sync/v1.rb +0 -37
  257. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -491
  258. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +0 -431
  259. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -390
  260. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +0 -426
  261. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +0 -422
  262. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -390
  263. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +0 -426
  264. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +0 -424
  265. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +0 -390
  266. data/lib/twilio-ruby/rest/wireless.rb +0 -48
  267. data/lib/twilio-ruby/rest/wireless/v1.rb +0 -59
  268. data/lib/twilio-ruby/rest/wireless/v1/command.rb +0 -357
  269. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +0 -427
  270. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +0 -516
  271. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +0 -235
  272. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  273. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  274. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -126
  275. data/spec/integration/fax/v1/fax_spec.rb +0 -272
  276. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  277. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  278. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  279. data/spec/integration/messaging/v1/service_spec.rb +0 -263
  280. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  281. data/spec/integration/notify/v1/service/binding_spec.rb +0 -227
  282. data/spec/integration/notify/v1/service/notification_spec.rb +0 -97
  283. data/spec/integration/notify/v1/service/segment_spec.rb +0 -84
  284. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +0 -118
  285. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +0 -269
  286. data/spec/integration/notify/v1/service/user_spec.rb +0 -213
  287. data/spec/integration/notify/v1/service_spec.rb +0 -280
  288. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -56
  289. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  290. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -43
  291. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -276
  292. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  293. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  294. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  295. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -252
  296. data/spec/integration/preview/proxy/service/phone_number_spec.rb +0 -173
  297. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +0 -104
  298. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +0 -164
  299. data/spec/integration/preview/proxy/service/session/participant_spec.rb +0 -226
  300. data/spec/integration/preview/proxy/service/session_spec.rb +0 -216
  301. data/spec/integration/preview/proxy/service/short_code_spec.rb +0 -173
  302. data/spec/integration/preview/proxy/service_spec.rb +0 -200
  303. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -206
  304. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  305. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -256
  306. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -206
  307. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -207
  308. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -257
  309. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -206
  310. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -207
  311. data/spec/integration/preview/sync/service_spec.rb +0 -244
  312. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  313. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -260
  314. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -49
  315. data/spec/integration/preview/wireless/sim_spec.rb +0 -208
  316. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -206
  317. data/spec/integration/sync/v1/service/document_spec.rb +0 -254
  318. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -256
  319. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -206
  320. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -207
  321. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  322. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -206
  323. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -207
  324. data/spec/integration/sync/v1/service_spec.rb +0 -244
  325. data/spec/integration/wireless/v1/command_spec.rb +0 -166
  326. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -268
  327. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -65
  328. data/spec/integration/wireless/v1/sim_spec.rb +0 -208
@@ -1,422 +0,0 @@
1
- ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
6
-
7
- module Twilio
8
- module REST
9
- class Preview < Domain
10
- class Proxy < Version
11
- class ServiceContext < InstanceContext
12
- class SessionContext < InstanceContext
13
- class ParticipantContext < InstanceContext
14
- class MessageInteractionList < ListResource
15
- ##
16
- # Initialize the MessageInteractionList
17
- # @param [Version] version Version that contains the resource
18
- # @param [String] service_sid The unique SID identifier of the Service.
19
- # @param [String] session_sid The unique SID identifier of the Session.
20
- # @param [String] participant_sid The participant_sid
21
- # @return [MessageInteractionList] MessageInteractionList
22
- def initialize(version, service_sid: nil, session_sid: nil, participant_sid: nil)
23
- super(version)
24
-
25
- # Path Solution
26
- @solution = {
27
- service_sid: service_sid,
28
- session_sid: session_sid,
29
- participant_sid: participant_sid
30
- }
31
- @uri = "/Services/#{@solution[:service_sid]}/Sessions/#{@solution[:session_sid]}/Participants/#{@solution[:participant_sid]}/MessageInteractions"
32
- end
33
-
34
- ##
35
- # Retrieve a single page of MessageInteractionInstance records from the API.
36
- # Request is executed immediately.
37
- # @param [String] body The text body of the message to send to the Participant. Up
38
- # to 1600 characters long.
39
- # @param [String] media_url The public url of an image or video to send to the
40
- # Participant.
41
- # @return [MessageInteractionInstance] Newly created MessageInteractionInstance
42
- def create(body: :unset, media_url: :unset)
43
- data = Twilio::Values.of({
44
- 'Body' => body,
45
- 'MediaUrl' => media_url,
46
- })
47
-
48
- payload = @version.create(
49
- 'POST',
50
- @uri,
51
- data: data
52
- )
53
-
54
- MessageInteractionInstance.new(
55
- @version,
56
- payload,
57
- service_sid: @solution[:service_sid],
58
- session_sid: @solution[:session_sid],
59
- participant_sid: @solution[:participant_sid],
60
- )
61
- end
62
-
63
- ##
64
- # Lists MessageInteractionInstance records from the API as a list.
65
- # Unlike stream(), this operation is eager and will load `limit` records into
66
- # memory before returning.
67
- # @param [Integer] limit Upper limit for the number of records to return. stream()
68
- # guarantees to never return more than limit. Default is no limit
69
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
70
- # the default value of 50 records. If no page_size is defined
71
- # but a limit is defined, stream() will attempt to read the
72
- # limit with the most efficient page size, i.e. min(limit, 1000)
73
- # @return [Array] Array of up to limit results
74
- def list(limit: nil, page_size: nil)
75
- self.stream(
76
- limit: limit,
77
- page_size: page_size
78
- ).entries
79
- end
80
-
81
- ##
82
- # Streams MessageInteractionInstance records from the API as an Enumerable.
83
- # This operation lazily loads records as efficiently as possible until the limit
84
- # is reached.
85
- # @param [Integer] limit Upper limit for the number of records to return. stream()
86
- # guarantees to never return more than limit. Default is no limit
87
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
88
- # the default value of 50 records. If no page_size is defined
89
- # but a limit is defined, stream() will attempt to read the
90
- # limit with the most efficient page size, i.e. min(limit, 1000)
91
- # @return [Enumerable] Enumerable that will yield up to limit results
92
- def stream(limit: nil, page_size: nil)
93
- limits = @version.read_limits(limit, page_size)
94
-
95
- page = self.page(
96
- page_size: limits[:page_size],
97
- )
98
-
99
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
100
- end
101
-
102
- ##
103
- # When passed a block, yields MessageInteractionInstance records from the API.
104
- # This operation lazily loads records as efficiently as possible until the limit
105
- # is reached.
106
- # @param [Integer] limit Upper limit for the number of records to return. stream()
107
- # guarantees to never return more than limit. Default is no limit
108
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
109
- # the default value of 50 records. If no page_size is defined
110
- # but a limit is defined, stream() will attempt to read the
111
- # limit with the most efficient page size, i.e. min(limit, 1000)
112
- def each
113
- limits = @version.read_limits
114
-
115
- page = self.page(
116
- page_size: limits[:page_size],
117
- )
118
-
119
- @version.stream(page,
120
- limit: limits[:limit],
121
- page_limit: limits[:page_limit]).each {|x| yield x}
122
- end
123
-
124
- ##
125
- # Retrieve a single page of MessageInteractionInstance records from the API.
126
- # Request is executed immediately.
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 MessageInteractionInstance
131
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
132
- params = Twilio::Values.of({
133
- 'PageToken' => page_token,
134
- 'Page' => page_number,
135
- 'PageSize' => page_size,
136
- })
137
- response = @version.page(
138
- 'GET',
139
- @uri,
140
- params
141
- )
142
- MessageInteractionPage.new(@version, response, @solution)
143
- end
144
-
145
- ##
146
- # Retrieve a single page of MessageInteractionInstance records from the API.
147
- # Request is executed immediately.
148
- # @param [String] target_url API-generated URL for the requested results page
149
- # @return [Page] Page of MessageInteractionInstance
150
- def get_page(target_url)
151
- response = @version.domain.request(
152
- 'GET',
153
- target_url
154
- )
155
- MessageInteractionPage.new(@version, response, @solution)
156
- end
157
-
158
- ##
159
- # Provide a user friendly representation
160
- def to_s
161
- '#<Twilio.Preview.Proxy.MessageInteractionList>'
162
- end
163
- end
164
-
165
- class MessageInteractionPage < Page
166
- ##
167
- # Initialize the MessageInteractionPage
168
- # @param [Version] version Version that contains the resource
169
- # @param [Response] response Response from the API
170
- # @param [Hash] solution Path solution for the resource
171
- # @param [String] service_sid The unique SID identifier of the Service.
172
- # @param [String] session_sid The unique SID identifier of the Session.
173
- # @param [String] participant_sid The participant_sid
174
- # @return [MessageInteractionPage] MessageInteractionPage
175
- def initialize(version, response, solution)
176
- super(version, response)
177
-
178
- # Path Solution
179
- @solution = solution
180
- end
181
-
182
- ##
183
- # Build an instance of MessageInteractionInstance
184
- # @param [Hash] payload Payload response from the API
185
- # @return [MessageInteractionInstance] MessageInteractionInstance
186
- def get_instance(payload)
187
- MessageInteractionInstance.new(
188
- @version,
189
- payload,
190
- service_sid: @solution[:service_sid],
191
- session_sid: @solution[:session_sid],
192
- participant_sid: @solution[:participant_sid],
193
- )
194
- end
195
-
196
- ##
197
- # Provide a user friendly representation
198
- def to_s
199
- '<Twilio.Preview.Proxy.MessageInteractionPage>'
200
- end
201
- end
202
-
203
- class MessageInteractionContext < InstanceContext
204
- ##
205
- # Initialize the MessageInteractionContext
206
- # @param [Version] version Version that contains the resource
207
- # @param [String] service_sid The unique SID identifier of the Service.
208
- # @param [String] session_sid The unique SID identifier of the Session.
209
- # @param [String] participant_sid The unique SID identifier of the Participant.
210
- # @param [String] sid A 34 character string that uniquely identifies this
211
- # Interaction.
212
- # @return [MessageInteractionContext] MessageInteractionContext
213
- def initialize(version, service_sid, session_sid, participant_sid, sid)
214
- super(version)
215
-
216
- # Path Solution
217
- @solution = {
218
- service_sid: service_sid,
219
- session_sid: session_sid,
220
- participant_sid: participant_sid,
221
- sid: sid,
222
- }
223
- @uri = "/Services/#{@solution[:service_sid]}/Sessions/#{@solution[:session_sid]}/Participants/#{@solution[:participant_sid]}/MessageInteractions/#{@solution[:sid]}"
224
- end
225
-
226
- ##
227
- # Fetch a MessageInteractionInstance
228
- # @return [MessageInteractionInstance] Fetched MessageInteractionInstance
229
- def fetch
230
- params = Twilio::Values.of({})
231
-
232
- payload = @version.fetch(
233
- 'GET',
234
- @uri,
235
- params,
236
- )
237
-
238
- MessageInteractionInstance.new(
239
- @version,
240
- payload,
241
- service_sid: @solution[:service_sid],
242
- session_sid: @solution[:session_sid],
243
- participant_sid: @solution[:participant_sid],
244
- sid: @solution[:sid],
245
- )
246
- end
247
-
248
- ##
249
- # Provide a user friendly representation
250
- def to_s
251
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
252
- "#<Twilio.Preview.Proxy.MessageInteractionContext #{context}>"
253
- end
254
- end
255
-
256
- class MessageInteractionInstance < InstanceResource
257
- ##
258
- # Initialize the MessageInteractionInstance
259
- # @param [Version] version Version that contains the resource
260
- # @param [Hash] payload payload that contains response from Twilio
261
- # @param [String] service_sid The unique SID identifier of the Service.
262
- # @param [String] session_sid The unique SID identifier of the Session.
263
- # @param [String] participant_sid The participant_sid
264
- # @param [String] sid A 34 character string that uniquely identifies this
265
- # Interaction.
266
- # @return [MessageInteractionInstance] MessageInteractionInstance
267
- def initialize(version, payload, service_sid: nil, session_sid: nil, participant_sid: nil, sid: nil)
268
- super(version)
269
-
270
- # Marshaled Properties
271
- @properties = {
272
- 'sid' => payload['sid'],
273
- 'session_sid' => payload['session_sid'],
274
- 'service_sid' => payload['service_sid'],
275
- 'account_sid' => payload['account_sid'],
276
- 'data' => payload['data'],
277
- 'status' => payload['status'],
278
- 'participant_sid' => payload['participant_sid'],
279
- 'inbound_participant_sid' => payload['inbound_participant_sid'],
280
- 'inbound_resource_sid' => payload['inbound_resource_sid'],
281
- 'inbound_resource_status' => payload['inbound_resource_status'],
282
- 'inbound_resource_type' => payload['inbound_resource_type'],
283
- 'inbound_resource_url' => payload['inbound_resource_url'],
284
- 'outbound_participant_sid' => payload['outbound_participant_sid'],
285
- 'outbound_resource_sid' => payload['outbound_resource_sid'],
286
- 'outbound_resource_status' => payload['outbound_resource_status'],
287
- 'outbound_resource_type' => payload['outbound_resource_type'],
288
- 'outbound_resource_url' => payload['outbound_resource_url'],
289
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
290
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
291
- 'url' => payload['url'],
292
- }
293
-
294
- # Context
295
- @instance_context = nil
296
- @params = {
297
- 'service_sid' => service_sid,
298
- 'session_sid' => session_sid,
299
- 'participant_sid' => participant_sid,
300
- 'sid' => sid || @properties['sid'],
301
- }
302
- end
303
-
304
- ##
305
- # Generate an instance context for the instance, the context is capable of
306
- # performing various actions. All instance actions are proxied to the context
307
- # @param [Version] version Version that contains the resource
308
- # @return [MessageInteractionContext] MessageInteractionContext for this MessageInteractionInstance
309
- def context
310
- unless @instance_context
311
- @instance_context = MessageInteractionContext.new(
312
- @version,
313
- @params['service_sid'],
314
- @params['session_sid'],
315
- @params['participant_sid'],
316
- @params['sid'],
317
- )
318
- end
319
- @instance_context
320
- end
321
-
322
- def sid
323
- @properties['sid']
324
- end
325
-
326
- def session_sid
327
- @properties['session_sid']
328
- end
329
-
330
- def service_sid
331
- @properties['service_sid']
332
- end
333
-
334
- def account_sid
335
- @properties['account_sid']
336
- end
337
-
338
- def data
339
- @properties['data']
340
- end
341
-
342
- def status
343
- @properties['status']
344
- end
345
-
346
- def participant_sid
347
- @properties['participant_sid']
348
- end
349
-
350
- def inbound_participant_sid
351
- @properties['inbound_participant_sid']
352
- end
353
-
354
- def inbound_resource_sid
355
- @properties['inbound_resource_sid']
356
- end
357
-
358
- def inbound_resource_status
359
- @properties['inbound_resource_status']
360
- end
361
-
362
- def inbound_resource_type
363
- @properties['inbound_resource_type']
364
- end
365
-
366
- def inbound_resource_url
367
- @properties['inbound_resource_url']
368
- end
369
-
370
- def outbound_participant_sid
371
- @properties['outbound_participant_sid']
372
- end
373
-
374
- def outbound_resource_sid
375
- @properties['outbound_resource_sid']
376
- end
377
-
378
- def outbound_resource_status
379
- @properties['outbound_resource_status']
380
- end
381
-
382
- def outbound_resource_type
383
- @properties['outbound_resource_type']
384
- end
385
-
386
- def outbound_resource_url
387
- @properties['outbound_resource_url']
388
- end
389
-
390
- def date_created
391
- @properties['date_created']
392
- end
393
-
394
- def date_updated
395
- @properties['date_updated']
396
- end
397
-
398
- def url
399
- @properties['url']
400
- end
401
-
402
- ##
403
- # Fetch a MessageInteractionInstance
404
- # @return [MessageInteractionInstance] Fetched MessageInteractionInstance
405
- def fetch
406
- context.fetch
407
- end
408
-
409
- ##
410
- # Provide a user friendly representation
411
- def to_s
412
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
413
- "<Twilio.Preview.Proxy.MessageInteractionInstance #{values}>"
414
- end
415
- end
416
- end
417
- end
418
- end
419
- end
420
- end
421
- end
422
- end
@@ -1,349 +0,0 @@
1
- ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
6
-
7
- module Twilio
8
- module REST
9
- class Preview < Domain
10
- class Proxy < Version
11
- class ServiceContext < InstanceContext
12
- class ShortCodeList < ListResource
13
- ##
14
- # Initialize the ShortCodeList
15
- # @param [Version] version Version that contains the resource
16
- # @param [String] service_sid The unique SID identifier of the Service.
17
- # @return [ShortCodeList] ShortCodeList
18
- def initialize(version, service_sid: nil)
19
- super(version)
20
-
21
- # Path Solution
22
- @solution = {
23
- service_sid: service_sid
24
- }
25
- @uri = "/Services/#{@solution[:service_sid]}/ShortCodes"
26
- end
27
-
28
- ##
29
- # Retrieve a single page of ShortCodeInstance records from the API.
30
- # Request is executed immediately.
31
- # @param [String] sid The shortcode Sid that uniquely identifies this resource
32
- # @return [ShortCodeInstance] Newly created ShortCodeInstance
33
- def create(sid: nil)
34
- data = Twilio::Values.of({
35
- 'Sid' => sid,
36
- })
37
-
38
- payload = @version.create(
39
- 'POST',
40
- @uri,
41
- data: data
42
- )
43
-
44
- ShortCodeInstance.new(
45
- @version,
46
- payload,
47
- service_sid: @solution[:service_sid],
48
- )
49
- end
50
-
51
- ##
52
- # Lists ShortCodeInstance records from the API as a list.
53
- # Unlike stream(), this operation is eager and will load `limit` records into
54
- # memory before returning.
55
- # @param [Integer] limit Upper limit for the number of records to return. stream()
56
- # guarantees to never return more than limit. Default is no limit
57
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
58
- # the default value of 50 records. If no page_size is defined
59
- # but a limit is defined, stream() will attempt to read the
60
- # limit with the most efficient page size, i.e. min(limit, 1000)
61
- # @return [Array] Array of up to limit results
62
- def list(limit: nil, page_size: nil)
63
- self.stream(
64
- limit: limit,
65
- page_size: page_size
66
- ).entries
67
- end
68
-
69
- ##
70
- # Streams ShortCodeInstance records from the API as an Enumerable.
71
- # This operation lazily loads records as efficiently as possible until the limit
72
- # is reached.
73
- # @param [Integer] limit Upper limit for the number of records to return. stream()
74
- # guarantees to never return more than limit. Default is no limit
75
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
76
- # the default value of 50 records. If no page_size is defined
77
- # but a limit is defined, stream() will attempt to read the
78
- # limit with the most efficient page size, i.e. min(limit, 1000)
79
- # @return [Enumerable] Enumerable that will yield up to limit results
80
- def stream(limit: nil, page_size: nil)
81
- limits = @version.read_limits(limit, page_size)
82
-
83
- page = self.page(
84
- page_size: limits[:page_size],
85
- )
86
-
87
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
88
- end
89
-
90
- ##
91
- # When passed a block, yields ShortCodeInstance records from the API.
92
- # This operation lazily loads records as efficiently as possible until the limit
93
- # is reached.
94
- # @param [Integer] limit Upper limit for the number of records to return. stream()
95
- # guarantees to never return more than limit. Default is no limit
96
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
97
- # the default value of 50 records. If no page_size is defined
98
- # but a limit is defined, stream() will attempt to read the
99
- # limit with the most efficient page size, i.e. min(limit, 1000)
100
- def each
101
- limits = @version.read_limits
102
-
103
- page = self.page(
104
- page_size: limits[:page_size],
105
- )
106
-
107
- @version.stream(page,
108
- limit: limits[:limit],
109
- page_limit: limits[:page_limit]).each {|x| yield x}
110
- end
111
-
112
- ##
113
- # Retrieve a single page of ShortCodeInstance records from the API.
114
- # Request is executed immediately.
115
- # @param [String] page_token PageToken provided by the API
116
- # @param [Integer] page_number Page Number, this value is simply for client state
117
- # @param [Integer] page_size Number of records to return, defaults to 50
118
- # @return [Page] Page of ShortCodeInstance
119
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
120
- params = Twilio::Values.of({
121
- 'PageToken' => page_token,
122
- 'Page' => page_number,
123
- 'PageSize' => page_size,
124
- })
125
- response = @version.page(
126
- 'GET',
127
- @uri,
128
- params
129
- )
130
- ShortCodePage.new(@version, response, @solution)
131
- end
132
-
133
- ##
134
- # Retrieve a single page of ShortCodeInstance records from the API.
135
- # Request is executed immediately.
136
- # @param [String] target_url API-generated URL for the requested results page
137
- # @return [Page] Page of ShortCodeInstance
138
- def get_page(target_url)
139
- response = @version.domain.request(
140
- 'GET',
141
- target_url
142
- )
143
- ShortCodePage.new(@version, response, @solution)
144
- end
145
-
146
- ##
147
- # Provide a user friendly representation
148
- def to_s
149
- '#<Twilio.Preview.Proxy.ShortCodeList>'
150
- end
151
- end
152
-
153
- class ShortCodePage < Page
154
- ##
155
- # Initialize the ShortCodePage
156
- # @param [Version] version Version that contains the resource
157
- # @param [Response] response Response from the API
158
- # @param [Hash] solution Path solution for the resource
159
- # @param [String] service_sid The unique SID identifier of the Service.
160
- # @return [ShortCodePage] ShortCodePage
161
- def initialize(version, response, solution)
162
- super(version, response)
163
-
164
- # Path Solution
165
- @solution = solution
166
- end
167
-
168
- ##
169
- # Build an instance of ShortCodeInstance
170
- # @param [Hash] payload Payload response from the API
171
- # @return [ShortCodeInstance] ShortCodeInstance
172
- def get_instance(payload)
173
- ShortCodeInstance.new(
174
- @version,
175
- payload,
176
- service_sid: @solution[:service_sid],
177
- )
178
- end
179
-
180
- ##
181
- # Provide a user friendly representation
182
- def to_s
183
- '<Twilio.Preview.Proxy.ShortCodePage>'
184
- end
185
- end
186
-
187
- class ShortCodeContext < InstanceContext
188
- ##
189
- # Initialize the ShortCodeContext
190
- # @param [Version] version Version that contains the resource
191
- # @param [String] service_sid The service_sid
192
- # @param [String] sid The shortcode Sid that uniquely identifies this resource
193
- # @return [ShortCodeContext] ShortCodeContext
194
- def initialize(version, service_sid, sid)
195
- super(version)
196
-
197
- # Path Solution
198
- @solution = {
199
- service_sid: service_sid,
200
- sid: sid,
201
- }
202
- @uri = "/Services/#{@solution[:service_sid]}/ShortCodes/#{@solution[:sid]}"
203
- end
204
-
205
- ##
206
- # Deletes the ShortCodeInstance
207
- # @return [Boolean] true if delete succeeds, true otherwise
208
- def delete
209
- @version.delete('delete', @uri)
210
- end
211
-
212
- ##
213
- # Fetch a ShortCodeInstance
214
- # @return [ShortCodeInstance] Fetched ShortCodeInstance
215
- def fetch
216
- params = Twilio::Values.of({})
217
-
218
- payload = @version.fetch(
219
- 'GET',
220
- @uri,
221
- params,
222
- )
223
-
224
- ShortCodeInstance.new(
225
- @version,
226
- payload,
227
- service_sid: @solution[:service_sid],
228
- sid: @solution[:sid],
229
- )
230
- end
231
-
232
- ##
233
- # Provide a user friendly representation
234
- def to_s
235
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
236
- "#<Twilio.Preview.Proxy.ShortCodeContext #{context}>"
237
- end
238
- end
239
-
240
- class ShortCodeInstance < InstanceResource
241
- ##
242
- # Initialize the ShortCodeInstance
243
- # @param [Version] version Version that contains the resource
244
- # @param [Hash] payload payload that contains response from Twilio
245
- # @param [String] service_sid The unique SID identifier of the Service.
246
- # @param [String] sid The shortcode Sid that uniquely identifies this resource
247
- # @return [ShortCodeInstance] ShortCodeInstance
248
- def initialize(version, payload, service_sid: nil, sid: nil)
249
- super(version)
250
-
251
- # Marshaled Properties
252
- @properties = {
253
- 'sid' => payload['sid'],
254
- 'account_sid' => payload['account_sid'],
255
- 'service_sid' => payload['service_sid'],
256
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
257
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
258
- 'short_code' => payload['short_code'],
259
- 'country_code' => payload['country_code'],
260
- 'capabilities' => payload['capabilities'],
261
- 'url' => payload['url'],
262
- }
263
-
264
- # Context
265
- @instance_context = nil
266
- @params = {
267
- 'service_sid' => service_sid,
268
- 'sid' => sid || @properties['sid'],
269
- }
270
- end
271
-
272
- ##
273
- # Generate an instance context for the instance, the context is capable of
274
- # performing various actions. All instance actions are proxied to the context
275
- # @param [Version] version Version that contains the resource
276
- # @return [ShortCodeContext] ShortCodeContext for this ShortCodeInstance
277
- def context
278
- unless @instance_context
279
- @instance_context = ShortCodeContext.new(
280
- @version,
281
- @params['service_sid'],
282
- @params['sid'],
283
- )
284
- end
285
- @instance_context
286
- end
287
-
288
- def sid
289
- @properties['sid']
290
- end
291
-
292
- def account_sid
293
- @properties['account_sid']
294
- end
295
-
296
- def service_sid
297
- @properties['service_sid']
298
- end
299
-
300
- def date_created
301
- @properties['date_created']
302
- end
303
-
304
- def date_updated
305
- @properties['date_updated']
306
- end
307
-
308
- def short_code
309
- @properties['short_code']
310
- end
311
-
312
- def country_code
313
- @properties['country_code']
314
- end
315
-
316
- def capabilities
317
- @properties['capabilities']
318
- end
319
-
320
- def url
321
- @properties['url']
322
- end
323
-
324
- ##
325
- # Deletes the ShortCodeInstance
326
- # @return [Boolean] true if delete succeeds, true otherwise
327
- def delete
328
- context.delete
329
- end
330
-
331
- ##
332
- # Fetch a ShortCodeInstance
333
- # @return [ShortCodeInstance] Fetched ShortCodeInstance
334
- def fetch
335
- context.fetch
336
- end
337
-
338
- ##
339
- # Provide a user friendly representation
340
- def to_s
341
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
342
- "<Twilio.Preview.Proxy.ShortCodeInstance #{values}>"
343
- end
344
- end
345
- end
346
- end
347
- end
348
- end
349
- end