twilio-ruby 5.0.0.rc26 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (328) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +21 -0
  3. data/.rubocop_todo.yml +187 -0
  4. data/.travis.yml +13 -0
  5. data/CHANGES.md +4 -0
  6. data/Gemfile +2 -2
  7. data/Makefile +8 -1
  8. data/Rakefile +3 -7
  9. data/examples/examples.rb +12 -10
  10. data/examples/{print-call-log.rb → print_call_log.rb} +4 -4
  11. data/lib/rack/twilio_webhook_authentication.rb +2 -3
  12. data/lib/twilio-ruby/framework/domain.rb +2 -6
  13. data/lib/twilio-ruby/framework/error.rb +0 -1
  14. data/lib/twilio-ruby/framework/helper.rb +1 -1
  15. data/lib/twilio-ruby/framework/page.rb +23 -25
  16. data/lib/twilio-ruby/framework/resource.rb +2 -2
  17. data/lib/twilio-ruby/framework/serialize.rb +5 -12
  18. data/lib/twilio-ruby/framework/twilio_response.rb +1 -1
  19. data/lib/twilio-ruby/framework/values.rb +2 -2
  20. data/lib/twilio-ruby/framework/version.rb +19 -37
  21. data/lib/twilio-ruby/http/http_client.rb +5 -6
  22. data/lib/twilio-ruby/jwt/access_token.rb +27 -41
  23. data/lib/twilio-ruby/jwt/client_capability.rb +11 -16
  24. data/lib/twilio-ruby/jwt/jwt.rb +7 -13
  25. data/lib/twilio-ruby/jwt/task_router.rb +40 -38
  26. data/lib/twilio-ruby/rest/accounts.rb +2 -0
  27. data/lib/twilio-ruby/rest/accounts/v1.rb +2 -0
  28. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +2 -2
  29. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +12 -7
  30. data/lib/twilio-ruby/rest/api.rb +96 -0
  31. data/lib/twilio-ruby/rest/api/v2010.rb +5 -0
  32. data/lib/twilio-ruby/rest/api/v2010/account.rb +66 -56
  33. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +30 -13
  34. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +22 -8
  35. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +40 -11
  36. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +20 -9
  37. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +16 -15
  38. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +26 -28
  39. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +26 -28
  40. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +26 -28
  41. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +64 -34
  42. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +12 -4
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +28 -3
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +37 -16
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +25 -15
  46. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +28 -27
  47. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +28 -19
  48. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +22 -9
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +62 -58
  50. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +52 -12
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +52 -12
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +52 -12
  53. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +8 -9
  54. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +47 -20
  55. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +12 -2
  56. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +17 -17
  57. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +10 -2
  58. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +10 -2
  59. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +37 -16
  60. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +14 -13
  61. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +20 -10
  62. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +10 -10
  63. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +37 -21
  64. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +22 -13
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +22 -13
  66. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +26 -9
  67. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +24 -13
  68. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +8 -9
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +8 -10
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +16 -11
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +14 -9
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +36 -13
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +14 -10
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +14 -10
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +16 -11
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +16 -9
  77. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +14 -2
  78. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +26 -9
  79. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +4 -6
  80. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +44 -33
  81. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +28 -11
  82. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +28 -11
  83. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +28 -11
  84. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +28 -11
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +28 -11
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +28 -11
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +28 -11
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +28 -11
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +32 -15
  90. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +10 -1
  91. data/lib/twilio-ruby/rest/chat.rb +8 -0
  92. data/lib/twilio-ruby/rest/chat/v1.rb +8 -0
  93. data/lib/twilio-ruby/rest/chat/v1/credential.rb +16 -7
  94. data/lib/twilio-ruby/rest/chat/v1/service.rb +48 -13
  95. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +34 -15
  96. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +20 -10
  97. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +22 -10
  98. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +26 -10
  99. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +18 -8
  100. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +30 -10
  101. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +16 -8
  102. data/lib/twilio-ruby/rest/chat/v2.rb +8 -0
  103. data/lib/twilio-ruby/rest/chat/v2/credential.rb +16 -7
  104. data/lib/twilio-ruby/rest/chat/v2/service.rb +46 -13
  105. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +34 -15
  106. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +20 -10
  107. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +22 -10
  108. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +26 -10
  109. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +18 -8
  110. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +30 -10
  111. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +16 -8
  112. data/lib/twilio-ruby/rest/client.rb +94 -45
  113. data/lib/twilio-ruby/rest/ip_messaging.rb +8 -0
  114. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +8 -0
  115. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +16 -7
  116. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +48 -13
  117. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +34 -15
  118. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +20 -10
  119. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +22 -10
  120. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +26 -10
  121. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +18 -8
  122. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +30 -10
  123. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +16 -8
  124. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +8 -0
  125. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +16 -7
  126. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +46 -13
  127. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +34 -15
  128. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +20 -10
  129. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +22 -10
  130. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +26 -10
  131. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +18 -8
  132. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +30 -10
  133. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +16 -8
  134. data/lib/twilio-ruby/rest/lookups.rb +4 -0
  135. data/lib/twilio-ruby/rest/lookups/v1.rb +9 -5
  136. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +14 -1
  137. data/lib/twilio-ruby/rest/monitor.rb +8 -0
  138. data/lib/twilio-ruby/rest/monitor/v1.rb +8 -0
  139. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +34 -10
  140. data/lib/twilio-ruby/rest/monitor/v1/event.rb +28 -13
  141. data/lib/twilio-ruby/rest/pricing.rb +6 -0
  142. data/lib/twilio-ruby/rest/pricing/v1.rb +6 -0
  143. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +8 -2
  144. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +12 -7
  145. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +8 -2
  146. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +10 -7
  147. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +10 -4
  148. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +12 -7
  149. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +14 -1
  150. data/lib/twilio-ruby/rest/taskrouter.rb +4 -0
  151. data/lib/twilio-ruby/rest/taskrouter/v1.rb +4 -0
  152. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +46 -24
  153. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +16 -10
  154. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +30 -17
  155. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +42 -19
  156. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +22 -10
  157. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +16 -8
  158. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +34 -15
  159. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +12 -3
  160. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +10 -11
  161. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +34 -23
  162. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +22 -10
  163. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +28 -9
  164. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +10 -3
  165. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +10 -2
  166. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +28 -11
  167. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +12 -3
  168. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +10 -2
  169. data/lib/twilio-ruby/rest/trunking.rb +4 -0
  170. data/lib/twilio-ruby/rest/trunking/v1.rb +4 -0
  171. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +36 -15
  172. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +14 -8
  173. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +14 -8
  174. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +22 -8
  175. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +52 -8
  176. data/lib/twilio-ruby/rest/video.rb +8 -0
  177. data/lib/twilio-ruby/rest/video/v1.rb +8 -0
  178. data/lib/twilio-ruby/rest/video/v1/recording.rb +26 -12
  179. data/lib/twilio-ruby/rest/video/v1/room.rb +34 -13
  180. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +28 -12
  181. data/lib/twilio-ruby/security/request_validator.rb +1 -2
  182. data/lib/twilio-ruby/twiml/messaging_response.rb +7 -19
  183. data/lib/twilio-ruby/twiml/twiml.rb +8 -14
  184. data/lib/twilio-ruby/twiml/voice_response.rb +157 -169
  185. data/lib/twilio-ruby/util.rb +1 -1
  186. data/lib/twilio-ruby/version.rb +1 -1
  187. data/spec/framework/serialize_spec.rb +17 -30
  188. data/spec/holodeck/holodeck.rb +6 -6
  189. data/spec/jwt/access_token_spec.rb +0 -6
  190. data/spec/jwt/client_capability_spec.rb +3 -3
  191. data/spec/jwt/task_router_spec.rb +16 -21
  192. data/spec/rack/twilio_webhook_authentication_spec.rb +12 -16
  193. data/spec/spec_helper.rb +2 -2
  194. data/spec/support/fakeweb.rb +1 -1
  195. data/spec/twiml/voice_response_spec.rb +33 -20
  196. data/twilio-ruby.gemspec +7 -3
  197. metadata +21 -193
  198. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +0 -420
  199. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +0 -345
  200. data/lib/twilio-ruby/rest/fax.rb +0 -40
  201. data/lib/twilio-ruby/rest/fax/v1.rb +0 -37
  202. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -520
  203. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -321
  204. data/lib/twilio-ruby/rest/messaging.rb +0 -40
  205. data/lib/twilio-ruby/rest/messaging/v1.rb +0 -37
  206. data/lib/twilio-ruby/rest/messaging/v1/service.rb +0 -604
  207. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +0 -344
  208. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +0 -349
  209. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +0 -349
  210. data/lib/twilio-ruby/rest/notify.rb +0 -44
  211. data/lib/twilio-ruby/rest/notify/v1.rb +0 -48
  212. data/lib/twilio-ruby/rest/notify/v1/credential.rb +0 -394
  213. data/lib/twilio-ruby/rest/notify/v1/service.rb +0 -611
  214. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +0 -414
  215. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +0 -249
  216. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +0 -219
  217. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +0 -437
  218. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +0 -247
  219. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +0 -418
  220. data/lib/twilio-ruby/rest/preview.rb +0 -107
  221. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -48
  222. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -198
  223. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -209
  224. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -232
  225. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +0 -37
  226. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +0 -539
  227. data/lib/twilio-ruby/rest/preview/marketplace.rb +0 -48
  228. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +0 -326
  229. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +0 -297
  230. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +0 -427
  231. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +0 -335
  232. data/lib/twilio-ruby/rest/preview/proxy.rb +0 -37
  233. data/lib/twilio-ruby/rest/preview/proxy/service.rb +0 -489
  234. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +0 -349
  235. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +0 -525
  236. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +0 -406
  237. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +0 -495
  238. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +0 -422
  239. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +0 -349
  240. data/lib/twilio-ruby/rest/preview/sync.rb +0 -37
  241. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -491
  242. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -431
  243. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -390
  244. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -426
  245. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -422
  246. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -390
  247. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -426
  248. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -424
  249. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -390
  250. data/lib/twilio-ruby/rest/preview/wireless.rb +0 -59
  251. data/lib/twilio-ruby/rest/preview/wireless/command.rb +0 -371
  252. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +0 -414
  253. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +0 -512
  254. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +0 -220
  255. data/lib/twilio-ruby/rest/sync.rb +0 -40
  256. data/lib/twilio-ruby/rest/sync/v1.rb +0 -37
  257. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -491
  258. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +0 -431
  259. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -390
  260. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +0 -426
  261. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +0 -422
  262. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -390
  263. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +0 -426
  264. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +0 -424
  265. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +0 -390
  266. data/lib/twilio-ruby/rest/wireless.rb +0 -48
  267. data/lib/twilio-ruby/rest/wireless/v1.rb +0 -59
  268. data/lib/twilio-ruby/rest/wireless/v1/command.rb +0 -357
  269. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +0 -427
  270. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +0 -516
  271. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +0 -235
  272. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  273. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  274. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -126
  275. data/spec/integration/fax/v1/fax_spec.rb +0 -272
  276. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  277. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  278. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  279. data/spec/integration/messaging/v1/service_spec.rb +0 -263
  280. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  281. data/spec/integration/notify/v1/service/binding_spec.rb +0 -227
  282. data/spec/integration/notify/v1/service/notification_spec.rb +0 -97
  283. data/spec/integration/notify/v1/service/segment_spec.rb +0 -84
  284. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +0 -118
  285. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +0 -269
  286. data/spec/integration/notify/v1/service/user_spec.rb +0 -213
  287. data/spec/integration/notify/v1/service_spec.rb +0 -280
  288. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -56
  289. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  290. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -43
  291. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -276
  292. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  293. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  294. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  295. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -252
  296. data/spec/integration/preview/proxy/service/phone_number_spec.rb +0 -173
  297. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +0 -104
  298. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +0 -164
  299. data/spec/integration/preview/proxy/service/session/participant_spec.rb +0 -226
  300. data/spec/integration/preview/proxy/service/session_spec.rb +0 -216
  301. data/spec/integration/preview/proxy/service/short_code_spec.rb +0 -173
  302. data/spec/integration/preview/proxy/service_spec.rb +0 -200
  303. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -206
  304. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  305. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -256
  306. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -206
  307. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -207
  308. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -257
  309. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -206
  310. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -207
  311. data/spec/integration/preview/sync/service_spec.rb +0 -244
  312. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  313. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -260
  314. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -49
  315. data/spec/integration/preview/wireless/sim_spec.rb +0 -208
  316. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -206
  317. data/spec/integration/sync/v1/service/document_spec.rb +0 -254
  318. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -256
  319. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -206
  320. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -207
  321. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  322. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -206
  323. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -207
  324. data/spec/integration/sync/v1/service_spec.rb +0 -244
  325. data/spec/integration/wireless/v1/command_spec.rb +0 -166
  326. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -268
  327. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -65
  328. data/spec/integration/wireless/v1/sim_spec.rb +0 -208
@@ -1,345 +0,0 @@
1
- ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
6
-
7
- module Twilio
8
- module REST
9
- class Api < Domain
10
- class V2010 < Version
11
- class AccountContext < InstanceContext
12
- class IncomingPhoneNumberContext < InstanceContext
13
- class AssignedAddOnContext < InstanceContext
14
- class AssignedAddOnExtensionList < ListResource
15
- ##
16
- # Initialize the AssignedAddOnExtensionList
17
- # @param [Version] version Version that contains the resource
18
- # @param [String] account_sid The unique id of the Account that has installed this
19
- # Add-on.
20
- # @param [String] resource_sid The unique id of the Phone Number to which the
21
- # Add-on is assigned.
22
- # @param [String] assigned_add_on_sid A 34 character string that uniquely
23
- # identifies the assigned Add-on installation.
24
- # @return [AssignedAddOnExtensionList] AssignedAddOnExtensionList
25
- def initialize(version, account_sid: nil, resource_sid: nil, assigned_add_on_sid: nil)
26
- super(version)
27
-
28
- # Path Solution
29
- @solution = {
30
- account_sid: account_sid,
31
- resource_sid: resource_sid,
32
- assigned_add_on_sid: assigned_add_on_sid
33
- }
34
- @uri = "/Accounts/#{@solution[:account_sid]}/IncomingPhoneNumbers/#{@solution[:resource_sid]}/AssignedAddOns/#{@solution[:assigned_add_on_sid]}/Extensions.json"
35
- end
36
-
37
- ##
38
- # Lists AssignedAddOnExtensionInstance records from the API as a list.
39
- # Unlike stream(), this operation is eager and will load `limit` records into
40
- # memory before returning.
41
- # @param [Integer] limit Upper limit for the number of records to return. stream()
42
- # guarantees to never return more than limit. Default is no limit
43
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
44
- # the default value of 50 records. If no page_size is defined
45
- # but a limit is defined, stream() will attempt to read the
46
- # limit with the most efficient page size, i.e. min(limit, 1000)
47
- # @return [Array] Array of up to limit results
48
- def list(limit: nil, page_size: nil)
49
- self.stream(
50
- limit: limit,
51
- page_size: page_size
52
- ).entries
53
- end
54
-
55
- ##
56
- # Streams AssignedAddOnExtensionInstance records from the API as an Enumerable.
57
- # This operation lazily loads records as efficiently as possible until the limit
58
- # is reached.
59
- # @param [Integer] limit Upper limit for the number of records to return. stream()
60
- # guarantees to never return more than limit. Default is no limit
61
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
62
- # the default value of 50 records. If no page_size is defined
63
- # but a limit is defined, stream() will attempt to read the
64
- # limit with the most efficient page size, i.e. min(limit, 1000)
65
- # @return [Enumerable] Enumerable that will yield up to limit results
66
- def stream(limit: nil, page_size: nil)
67
- limits = @version.read_limits(limit, page_size)
68
-
69
- page = self.page(
70
- page_size: limits[:page_size],
71
- )
72
-
73
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
74
- end
75
-
76
- ##
77
- # When passed a block, yields AssignedAddOnExtensionInstance records from the API.
78
- # This operation lazily loads records as efficiently as possible until the limit
79
- # is reached.
80
- # @param [Integer] limit Upper limit for the number of records to return. stream()
81
- # guarantees to never return more than limit. Default is no limit
82
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
83
- # the default value of 50 records. If no page_size is defined
84
- # but a limit is defined, stream() will attempt to read the
85
- # limit with the most efficient page size, i.e. min(limit, 1000)
86
- def each
87
- limits = @version.read_limits
88
-
89
- page = self.page(
90
- page_size: limits[:page_size],
91
- )
92
-
93
- @version.stream(page,
94
- limit: limits[:limit],
95
- page_limit: limits[:page_limit]).each {|x| yield x}
96
- end
97
-
98
- ##
99
- # Retrieve a single page of AssignedAddOnExtensionInstance records from the API.
100
- # Request is executed immediately.
101
- # @param [String] page_token PageToken provided by the API
102
- # @param [Integer] page_number Page Number, this value is simply for client state
103
- # @param [Integer] page_size Number of records to return, defaults to 50
104
- # @return [Page] Page of AssignedAddOnExtensionInstance
105
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
106
- params = Twilio::Values.of({
107
- 'PageToken' => page_token,
108
- 'Page' => page_number,
109
- 'PageSize' => page_size,
110
- })
111
- response = @version.page(
112
- 'GET',
113
- @uri,
114
- params
115
- )
116
- AssignedAddOnExtensionPage.new(@version, response, @solution)
117
- end
118
-
119
- ##
120
- # Retrieve a single page of AssignedAddOnExtensionInstance records from the API.
121
- # Request is executed immediately.
122
- # @param [String] target_url API-generated URL for the requested results page
123
- # @return [Page] Page of AssignedAddOnExtensionInstance
124
- def get_page(target_url)
125
- response = @version.domain.request(
126
- 'GET',
127
- target_url
128
- )
129
- AssignedAddOnExtensionPage.new(@version, response, @solution)
130
- end
131
-
132
- ##
133
- # Provide a user friendly representation
134
- def to_s
135
- '#<Twilio.Api.V2010.AssignedAddOnExtensionList>'
136
- end
137
- end
138
-
139
- class AssignedAddOnExtensionPage < Page
140
- ##
141
- # Initialize the AssignedAddOnExtensionPage
142
- # @param [Version] version Version that contains the resource
143
- # @param [Response] response Response from the API
144
- # @param [Hash] solution Path solution for the resource
145
- # @param [String] account_sid The unique id of the Account that has installed this
146
- # Add-on.
147
- # @param [String] resource_sid The unique id of the Phone Number to which the
148
- # Add-on is assigned.
149
- # @param [String] assigned_add_on_sid A 34 character string that uniquely
150
- # identifies the assigned Add-on installation.
151
- # @return [AssignedAddOnExtensionPage] AssignedAddOnExtensionPage
152
- def initialize(version, response, solution)
153
- super(version, response)
154
-
155
- # Path Solution
156
- @solution = solution
157
- end
158
-
159
- ##
160
- # Build an instance of AssignedAddOnExtensionInstance
161
- # @param [Hash] payload Payload response from the API
162
- # @return [AssignedAddOnExtensionInstance] AssignedAddOnExtensionInstance
163
- def get_instance(payload)
164
- AssignedAddOnExtensionInstance.new(
165
- @version,
166
- payload,
167
- account_sid: @solution[:account_sid],
168
- resource_sid: @solution[:resource_sid],
169
- assigned_add_on_sid: @solution[:assigned_add_on_sid],
170
- )
171
- end
172
-
173
- ##
174
- # Provide a user friendly representation
175
- def to_s
176
- '<Twilio.Api.V2010.AssignedAddOnExtensionPage>'
177
- end
178
- end
179
-
180
- class AssignedAddOnExtensionContext < InstanceContext
181
- ##
182
- # Initialize the AssignedAddOnExtensionContext
183
- # @param [Version] version Version that contains the resource
184
- # @param [String] account_sid The account_sid
185
- # @param [String] resource_sid The resource_sid
186
- # @param [String] assigned_add_on_sid The assigned_add_on_sid
187
- # @param [String] sid The Extension Sid that uniquely identifies this resource
188
- # @return [AssignedAddOnExtensionContext] AssignedAddOnExtensionContext
189
- def initialize(version, account_sid, resource_sid, assigned_add_on_sid, sid)
190
- super(version)
191
-
192
- # Path Solution
193
- @solution = {
194
- account_sid: account_sid,
195
- resource_sid: resource_sid,
196
- assigned_add_on_sid: assigned_add_on_sid,
197
- sid: sid,
198
- }
199
- @uri = "/Accounts/#{@solution[:account_sid]}/IncomingPhoneNumbers/#{@solution[:resource_sid]}/AssignedAddOns/#{@solution[:assigned_add_on_sid]}/Extensions/#{@solution[:sid]}.json"
200
- end
201
-
202
- ##
203
- # Fetch a AssignedAddOnExtensionInstance
204
- # @return [AssignedAddOnExtensionInstance] Fetched AssignedAddOnExtensionInstance
205
- def fetch
206
- params = Twilio::Values.of({})
207
-
208
- payload = @version.fetch(
209
- 'GET',
210
- @uri,
211
- params,
212
- )
213
-
214
- AssignedAddOnExtensionInstance.new(
215
- @version,
216
- payload,
217
- account_sid: @solution[:account_sid],
218
- resource_sid: @solution[:resource_sid],
219
- assigned_add_on_sid: @solution[:assigned_add_on_sid],
220
- sid: @solution[:sid],
221
- )
222
- end
223
-
224
- ##
225
- # Provide a user friendly representation
226
- def to_s
227
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
228
- "#<Twilio.Api.V2010.AssignedAddOnExtensionContext #{context}>"
229
- end
230
- end
231
-
232
- class AssignedAddOnExtensionInstance < InstanceResource
233
- ##
234
- # Initialize the AssignedAddOnExtensionInstance
235
- # @param [Version] version Version that contains the resource
236
- # @param [Hash] payload payload that contains response from Twilio
237
- # @param [String] account_sid The unique id of the Account that has installed this
238
- # Add-on.
239
- # @param [String] resource_sid The unique id of the Phone Number to which the
240
- # Add-on is assigned.
241
- # @param [String] assigned_add_on_sid A 34 character string that uniquely
242
- # identifies the assigned Add-on installation.
243
- # @param [String] sid The Extension Sid that uniquely identifies this resource
244
- # @return [AssignedAddOnExtensionInstance] AssignedAddOnExtensionInstance
245
- def initialize(version, payload, account_sid: nil, resource_sid: nil, assigned_add_on_sid: nil, sid: nil)
246
- super(version)
247
-
248
- # Marshaled Properties
249
- @properties = {
250
- 'sid' => payload['sid'],
251
- 'account_sid' => payload['account_sid'],
252
- 'resource_sid' => payload['resource_sid'],
253
- 'assigned_add_on_sid' => payload['assigned_add_on_sid'],
254
- 'friendly_name' => payload['friendly_name'],
255
- 'product_name' => payload['product_name'],
256
- 'unique_name' => payload['unique_name'],
257
- 'uri' => payload['uri'],
258
- 'enabled' => payload['enabled'],
259
- }
260
-
261
- # Context
262
- @instance_context = nil
263
- @params = {
264
- 'account_sid' => account_sid,
265
- 'resource_sid' => resource_sid,
266
- 'assigned_add_on_sid' => assigned_add_on_sid,
267
- 'sid' => sid || @properties['sid'],
268
- }
269
- end
270
-
271
- ##
272
- # Generate an instance context for the instance, the context is capable of
273
- # performing various actions. All instance actions are proxied to the context
274
- # @param [Version] version Version that contains the resource
275
- # @return [AssignedAddOnExtensionContext] AssignedAddOnExtensionContext for this AssignedAddOnExtensionInstance
276
- def context
277
- unless @instance_context
278
- @instance_context = AssignedAddOnExtensionContext.new(
279
- @version,
280
- @params['account_sid'],
281
- @params['resource_sid'],
282
- @params['assigned_add_on_sid'],
283
- @params['sid'],
284
- )
285
- end
286
- @instance_context
287
- end
288
-
289
- def sid
290
- @properties['sid']
291
- end
292
-
293
- def account_sid
294
- @properties['account_sid']
295
- end
296
-
297
- def resource_sid
298
- @properties['resource_sid']
299
- end
300
-
301
- def assigned_add_on_sid
302
- @properties['assigned_add_on_sid']
303
- end
304
-
305
- def friendly_name
306
- @properties['friendly_name']
307
- end
308
-
309
- def product_name
310
- @properties['product_name']
311
- end
312
-
313
- def unique_name
314
- @properties['unique_name']
315
- end
316
-
317
- def uri
318
- @properties['uri']
319
- end
320
-
321
- def enabled
322
- @properties['enabled']
323
- end
324
-
325
- ##
326
- # Fetch a AssignedAddOnExtensionInstance
327
- # @return [AssignedAddOnExtensionInstance] Fetched AssignedAddOnExtensionInstance
328
- def fetch
329
- context.fetch
330
- end
331
-
332
- ##
333
- # Provide a user friendly representation
334
- def to_s
335
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
336
- "<Twilio.Api.V2010.AssignedAddOnExtensionInstance #{values}>"
337
- end
338
- end
339
- end
340
- end
341
- end
342
- end
343
- end
344
- end
345
- end
@@ -1,40 +0,0 @@
1
- ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
6
-
7
- module Twilio
8
- module REST
9
- class Fax < Domain
10
- ##
11
- # Initialize the Fax Domain
12
- def initialize(twilio)
13
- super
14
-
15
- @base_url = 'https://fax.twilio.com'
16
- @host = 'fax.twilio.com'
17
- @port = 443
18
-
19
- # Versions
20
- @v1 = nil
21
- end
22
-
23
- ##
24
- # Version v1 of fax
25
- def v1
26
- @v1 ||= V1.new self
27
- end
28
-
29
- def faxes(sid=:unset)
30
- self.v1.faxes(sid)
31
- end
32
-
33
- ##
34
- # Provide a user friendly representation
35
- def to_s
36
- '#<Twilio::REST::Fax>'
37
- end
38
- end
39
- end
40
- end
@@ -1,37 +0,0 @@
1
- ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
6
-
7
- module Twilio
8
- module REST
9
- class Fax
10
- class V1 < Version
11
- ##
12
- # Initialize the V1 version of Fax
13
- def initialize(domain)
14
- super
15
- @version = 'v1'
16
- @faxes = nil
17
- end
18
-
19
- def faxes(sid=:unset)
20
- if sid.nil?
21
- raise ArgumentError, 'sid cannot be nil'
22
- elsif sid == :unset
23
- @faxes ||= FaxList.new self
24
- else
25
- FaxContext.new(self, sid)
26
- end
27
- end
28
-
29
- ##
30
- # Provide a user friendly representation
31
- def to_s
32
- '<Twilio::REST::Fax::V1>'
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,520 +0,0 @@
1
- ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
6
-
7
- module Twilio
8
- module REST
9
- class Fax < Domain
10
- class V1 < Version
11
- class FaxList < ListResource
12
- ##
13
- # Initialize the FaxList
14
- # @param [Version] version Version that contains the resource
15
- # @return [FaxList] FaxList
16
- def initialize(version)
17
- super(version)
18
-
19
- # Path Solution
20
- @solution = {}
21
- @uri = "/Faxes"
22
- end
23
-
24
- ##
25
- # Lists FaxInstance records from the API as a list.
26
- # Unlike stream(), this operation is eager and will load `limit` records into
27
- # memory before returning.
28
- # @param [String] from Filters the returned list to only include faxes sent from
29
- # the supplied number, given in E.164 format.
30
- # @param [String] to Filters the returned list to only include faxes sent to the
31
- # supplied number, given in E.164 format.
32
- # @param [Time] date_created_on_or_before Filters the returned list to only
33
- # include faxes created on or before the supplied date, given in ISO 8601 format.
34
- # @param [Time] date_created_after Filters the returned list to only include faxes
35
- # created after the supplied date, given in ISO 8601 format.
36
- # @param [Integer] limit Upper limit for the number of records to return. stream()
37
- # guarantees to never return more than limit. Default is no limit
38
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
39
- # the default value of 50 records. If no page_size is defined
40
- # but a limit is defined, stream() will attempt to read the
41
- # limit with the most efficient page size, i.e. min(limit, 1000)
42
- # @return [Array] Array of up to limit results
43
- def list(from: :unset, to: :unset, date_created_on_or_before: :unset, date_created_after: :unset, limit: nil, page_size: nil)
44
- self.stream(
45
- from: from,
46
- to: to,
47
- date_created_on_or_before: date_created_on_or_before,
48
- date_created_after: date_created_after,
49
- limit: limit,
50
- page_size: page_size
51
- ).entries
52
- end
53
-
54
- ##
55
- # Streams FaxInstance records from the API as an Enumerable.
56
- # This operation lazily loads records as efficiently as possible until the limit
57
- # is reached.
58
- # @param [String] from Filters the returned list to only include faxes sent from
59
- # the supplied number, given in E.164 format.
60
- # @param [String] to Filters the returned list to only include faxes sent to the
61
- # supplied number, given in E.164 format.
62
- # @param [Time] date_created_on_or_before Filters the returned list to only
63
- # include faxes created on or before the supplied date, given in ISO 8601 format.
64
- # @param [Time] date_created_after Filters the returned list to only include faxes
65
- # created after the supplied date, given in ISO 8601 format.
66
- # @param [Integer] limit Upper limit for the number of records to return. stream()
67
- # guarantees to never return more than limit. Default is no limit
68
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
69
- # the default value of 50 records. If no page_size is defined
70
- # but a limit is defined, stream() will attempt to read the
71
- # limit with the most efficient page size, i.e. min(limit, 1000)
72
- # @return [Enumerable] Enumerable that will yield up to limit results
73
- def stream(from: :unset, to: :unset, date_created_on_or_before: :unset, date_created_after: :unset, limit: nil, page_size: nil)
74
- limits = @version.read_limits(limit, page_size)
75
-
76
- page = self.page(
77
- from: from,
78
- to: to,
79
- date_created_on_or_before: date_created_on_or_before,
80
- date_created_after: date_created_after,
81
- page_size: limits[:page_size],
82
- )
83
-
84
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
85
- end
86
-
87
- ##
88
- # When passed a block, yields FaxInstance records from the API.
89
- # This operation lazily loads records as efficiently as possible until the limit
90
- # is reached.
91
- # @param [String] from Filters the returned list to only include faxes sent from
92
- # the supplied number, given in E.164 format.
93
- # @param [String] to Filters the returned list to only include faxes sent to the
94
- # supplied number, given in E.164 format.
95
- # @param [Time] date_created_on_or_before Filters the returned list to only
96
- # include faxes created on or before the supplied date, given in ISO 8601 format.
97
- # @param [Time] date_created_after Filters the returned list to only include faxes
98
- # created after the supplied date, given in ISO 8601 format.
99
- # @param [Integer] limit Upper limit for the number of records to return. stream()
100
- # guarantees to never return more than limit. Default is no limit
101
- # @param [Integer] page_size Number of records to fetch per request, when not set will use
102
- # the default value of 50 records. If no page_size is defined
103
- # but a limit is defined, stream() will attempt to read the
104
- # limit with the most efficient page size, i.e. min(limit, 1000)
105
- def each
106
- limits = @version.read_limits
107
-
108
- page = self.page(
109
- page_size: limits[:page_size],
110
- )
111
-
112
- @version.stream(page,
113
- limit: limits[:limit],
114
- page_limit: limits[:page_limit]).each {|x| yield x}
115
- end
116
-
117
- ##
118
- # Retrieve a single page of FaxInstance records from the API.
119
- # Request is executed immediately.
120
- # @param [String] from Filters the returned list to only include faxes sent from
121
- # the supplied number, given in E.164 format.
122
- # @param [String] to Filters the returned list to only include faxes sent to the
123
- # supplied number, given in E.164 format.
124
- # @param [Time] date_created_on_or_before Filters the returned list to only
125
- # include faxes created on or before the supplied date, given in ISO 8601 format.
126
- # @param [Time] date_created_after Filters the returned list to only include faxes
127
- # created after the supplied date, given in ISO 8601 format.
128
- # @param [String] page_token PageToken provided by the API
129
- # @param [Integer] page_number Page Number, this value is simply for client state
130
- # @param [Integer] page_size Number of records to return, defaults to 50
131
- # @return [Page] Page of FaxInstance
132
- def page(from: :unset, to: :unset, date_created_on_or_before: :unset, date_created_after: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
133
- params = Twilio::Values.of({
134
- 'From' => from,
135
- 'To' => to,
136
- 'DateCreatedOnOrBefore' => Twilio.serialize_iso8601_datetime(date_created_on_or_before),
137
- 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
138
- 'PageToken' => page_token,
139
- 'Page' => page_number,
140
- 'PageSize' => page_size,
141
- })
142
- response = @version.page(
143
- 'GET',
144
- @uri,
145
- params
146
- )
147
- FaxPage.new(@version, response, @solution)
148
- end
149
-
150
- ##
151
- # Retrieve a single page of FaxInstance records from the API.
152
- # Request is executed immediately.
153
- # @param [String] target_url API-generated URL for the requested results page
154
- # @return [Page] Page of FaxInstance
155
- def get_page(target_url)
156
- response = @version.domain.request(
157
- 'GET',
158
- target_url
159
- )
160
- FaxPage.new(@version, response, @solution)
161
- end
162
-
163
- ##
164
- # Retrieve a single page of FaxInstance records from the API.
165
- # Request is executed immediately.
166
- # @param [String] to The phone number or SIP address to send the fax to,
167
- # E.164-formatted.
168
- # @param [String] media_url The URL that Twilio will request to obtain the fax
169
- # media to send, which must be a PDF file.
170
- # @param [fax.Quality] quality The quality setting to use for this fax. One of
171
- # `standard`, `fine` or `superfine`.
172
- # @param [String] status_callback The URL that Twilio will request when the status
173
- # of the fax changes.
174
- # @param [String] from The phone number to use as the caller id, E.164-formatted.
175
- # If using a phone number, it must be a Twilio number or a verified outgoing
176
- # caller id for your account. If sending to a SIP address, this can be any
177
- # alphanumeric string (plus the characters `+`, `_`, `.`, and `-`) to use in the
178
- # From header of the SIP request.
179
- # @param [String] sip_auth_username The username to use for authentication when
180
- # sending to a SIP address.
181
- # @param [String] sip_auth_password The password to use for authentication when
182
- # sending to a SIP address.
183
- # @param [Boolean] store_media Whether or not to store a copy of the sent media on
184
- # Twilio's servers for later retrieval (defaults to `true`)
185
- # @return [FaxInstance] Newly created FaxInstance
186
- def create(to: nil, media_url: nil, quality: :unset, status_callback: :unset, from: :unset, sip_auth_username: :unset, sip_auth_password: :unset, store_media: :unset)
187
- data = Twilio::Values.of({
188
- 'To' => to,
189
- 'MediaUrl' => media_url,
190
- 'Quality' => quality,
191
- 'StatusCallback' => status_callback,
192
- 'From' => from,
193
- 'SipAuthUsername' => sip_auth_username,
194
- 'SipAuthPassword' => sip_auth_password,
195
- 'StoreMedia' => store_media,
196
- })
197
-
198
- payload = @version.create(
199
- 'POST',
200
- @uri,
201
- data: data
202
- )
203
-
204
- FaxInstance.new(
205
- @version,
206
- payload,
207
- )
208
- end
209
-
210
- ##
211
- # Provide a user friendly representation
212
- def to_s
213
- '#<Twilio.Fax.V1.FaxList>'
214
- end
215
- end
216
-
217
- class FaxPage < Page
218
- ##
219
- # Initialize the FaxPage
220
- # @param [Version] version Version that contains the resource
221
- # @param [Response] response Response from the API
222
- # @param [Hash] solution Path solution for the resource
223
- # @return [FaxPage] FaxPage
224
- def initialize(version, response, solution)
225
- super(version, response)
226
-
227
- # Path Solution
228
- @solution = solution
229
- end
230
-
231
- ##
232
- # Build an instance of FaxInstance
233
- # @param [Hash] payload Payload response from the API
234
- # @return [FaxInstance] FaxInstance
235
- def get_instance(payload)
236
- FaxInstance.new(
237
- @version,
238
- payload,
239
- )
240
- end
241
-
242
- ##
243
- # Provide a user friendly representation
244
- def to_s
245
- '<Twilio.Fax.V1.FaxPage>'
246
- end
247
- end
248
-
249
- class FaxContext < InstanceContext
250
- ##
251
- # Initialize the FaxContext
252
- # @param [Version] version Version that contains the resource
253
- # @param [String] sid A 34 character string that uniquely identifies this fax.
254
- # @return [FaxContext] FaxContext
255
- def initialize(version, sid)
256
- super(version)
257
-
258
- # Path Solution
259
- @solution = {
260
- sid: sid,
261
- }
262
- @uri = "/Faxes/#{@solution[:sid]}"
263
-
264
- # Dependents
265
- @media = nil
266
- end
267
-
268
- ##
269
- # Fetch a FaxInstance
270
- # @return [FaxInstance] Fetched FaxInstance
271
- def fetch
272
- params = Twilio::Values.of({})
273
-
274
- payload = @version.fetch(
275
- 'GET',
276
- @uri,
277
- params,
278
- )
279
-
280
- FaxInstance.new(
281
- @version,
282
- payload,
283
- sid: @solution[:sid],
284
- )
285
- end
286
-
287
- ##
288
- # Update the FaxInstance
289
- # @param [fax.UpdateStatus] status The updated status of this fax. The only valid
290
- # option is `canceled`. This may fail if the status has already started
291
- # transmission.
292
- # @return [FaxInstance] Updated FaxInstance
293
- def update(status: :unset)
294
- data = Twilio::Values.of({
295
- 'Status' => status,
296
- })
297
-
298
- payload = @version.update(
299
- 'POST',
300
- @uri,
301
- data: data,
302
- )
303
-
304
- FaxInstance.new(
305
- @version,
306
- payload,
307
- sid: @solution[:sid],
308
- )
309
- end
310
-
311
- ##
312
- # Deletes the FaxInstance
313
- # @return [Boolean] true if delete succeeds, true otherwise
314
- def delete
315
- @version.delete('delete', @uri)
316
- end
317
-
318
- ##
319
- # Access the media
320
- # @return [FaxMediaList] if a(n) FaxMediaList object was created.
321
- # @return [FaxMediaContext] if a(n) FaxMediaContext object was created.
322
- def media(sid=:unset)
323
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
324
-
325
- if sid != :unset
326
- return FaxMediaContext.new(
327
- @version,
328
- @solution[:sid],
329
- sid,
330
- )
331
- end
332
-
333
- unless @media
334
- @media = FaxMediaList.new(
335
- @version,
336
- fax_sid: @solution[:sid],
337
- )
338
- end
339
-
340
- @media
341
- end
342
-
343
- ##
344
- # Provide a user friendly representation
345
- def to_s
346
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
347
- "#<Twilio.Fax.V1.FaxContext #{context}>"
348
- end
349
- end
350
-
351
- class FaxInstance < InstanceResource
352
- ##
353
- # Initialize the FaxInstance
354
- # @param [Version] version Version that contains the resource
355
- # @param [Hash] payload payload that contains response from Twilio
356
- # @param [String] sid A 34 character string that uniquely identifies this fax.
357
- # @return [FaxInstance] FaxInstance
358
- def initialize(version, payload, sid: nil)
359
- super(version)
360
-
361
- # Marshaled Properties
362
- @properties = {
363
- 'sid' => payload['sid'],
364
- 'account_sid' => payload['account_sid'],
365
- 'from' => payload['from'],
366
- 'to' => payload['to'],
367
- 'quality' => payload['quality'],
368
- 'media_sid' => payload['media_sid'],
369
- 'media_url' => payload['media_url'],
370
- 'num_pages' => payload['num_pages'] == nil ? payload['num_pages'] : payload['num_pages'].to_i,
371
- 'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
372
- 'status' => payload['status'],
373
- 'direction' => payload['direction'],
374
- 'api_version' => payload['api_version'],
375
- 'price' => payload['price'].to_f,
376
- 'price_unit' => payload['price_unit'],
377
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
378
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
379
- 'links' => payload['links'],
380
- 'url' => payload['url'],
381
- }
382
-
383
- # Context
384
- @instance_context = nil
385
- @params = {
386
- 'sid' => sid || @properties['sid'],
387
- }
388
- end
389
-
390
- ##
391
- # Generate an instance context for the instance, the context is capable of
392
- # performing various actions. All instance actions are proxied to the context
393
- # @param [Version] version Version that contains the resource
394
- # @return [FaxContext] FaxContext for this FaxInstance
395
- def context
396
- unless @instance_context
397
- @instance_context = FaxContext.new(
398
- @version,
399
- @params['sid'],
400
- )
401
- end
402
- @instance_context
403
- end
404
-
405
- def sid
406
- @properties['sid']
407
- end
408
-
409
- def account_sid
410
- @properties['account_sid']
411
- end
412
-
413
- def from
414
- @properties['from']
415
- end
416
-
417
- def to
418
- @properties['to']
419
- end
420
-
421
- def quality
422
- @properties['quality']
423
- end
424
-
425
- def media_sid
426
- @properties['media_sid']
427
- end
428
-
429
- def media_url
430
- @properties['media_url']
431
- end
432
-
433
- def num_pages
434
- @properties['num_pages']
435
- end
436
-
437
- def duration
438
- @properties['duration']
439
- end
440
-
441
- def status
442
- @properties['status']
443
- end
444
-
445
- def direction
446
- @properties['direction']
447
- end
448
-
449
- def api_version
450
- @properties['api_version']
451
- end
452
-
453
- def price
454
- @properties['price']
455
- end
456
-
457
- def price_unit
458
- @properties['price_unit']
459
- end
460
-
461
- def date_created
462
- @properties['date_created']
463
- end
464
-
465
- def date_updated
466
- @properties['date_updated']
467
- end
468
-
469
- def links
470
- @properties['links']
471
- end
472
-
473
- def url
474
- @properties['url']
475
- end
476
-
477
- ##
478
- # Fetch a FaxInstance
479
- # @return [FaxInstance] Fetched FaxInstance
480
- def fetch
481
- context.fetch
482
- end
483
-
484
- ##
485
- # Update the FaxInstance
486
- # @param [fax.UpdateStatus] status The updated status of this fax. The only valid
487
- # option is `canceled`. This may fail if the status has already started
488
- # transmission.
489
- # @return [FaxInstance] Updated FaxInstance
490
- def update(status: :unset)
491
- context.update(
492
- status: status,
493
- )
494
- end
495
-
496
- ##
497
- # Deletes the FaxInstance
498
- # @return [Boolean] true if delete succeeds, true otherwise
499
- def delete
500
- context.delete
501
- end
502
-
503
- ##
504
- # Access the media
505
- # @return [media] media
506
- def media
507
- context.media
508
- end
509
-
510
- ##
511
- # Provide a user friendly representation
512
- def to_s
513
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
514
- "<Twilio.Fax.V1.FaxInstance #{values}>"
515
- end
516
- end
517
- end
518
- end
519
- end
520
- end