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,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