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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: db8a11cb848a053910d7aa5812a8c15f474505cc
4
- data.tar.gz: 91ca06f98099e83fbe7b5226d159cb3e52a5fadf
3
+ metadata.gz: c6a6f5e9d921db6048332ae4913809af14e3ea8a
4
+ data.tar.gz: 6a3634728a3446a9bbe70d4da8cbaf5df29e00f2
5
5
  SHA512:
6
- metadata.gz: e1deca7186f4c386f31eaaa26922fac2a0f82f9463aa2360553b48ff6c9b7e1ef10055a40dd0f394538aae15905d1c5b90a89f213ea95a2121d3ed9c56e90544
7
- data.tar.gz: 95bca3058f5c672ea891799c2d3358914b789c8c4984615172f34988019c9f7a6b5be4fd4aa48f3d165fe808bb0b7de4b4b065b7c0694f10d928a8e9c5f40884
6
+ metadata.gz: 3f866e4c93cc5bd0f58648eda34acf840b4859052f4e26967001b4fd5874accdda13a198f61bb1c5c50bcea968cb8071b9bddbcd528c0e922dcd7ca39640531d
7
+ data.tar.gz: e28c9d8b3f51a160ed850ff21a3cf9720b1604fe2e9b580326ee71faf0cf177d343f160c49ce055242cb6f98a82d939a3a26828dd8a886b6058f33efaddd6b6a
data/.rubocop.yml ADDED
@@ -0,0 +1,21 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ AllCops:
4
+ TargetRubyVersion: 2.0
5
+ Exclude:
6
+ - 'lib/twilio-ruby/rest/**/*'
7
+ - 'spec/integration/**/*'
8
+
9
+ Metrics/LineLength:
10
+ Max: 120
11
+ Exclude:
12
+ - 'spec/**/*'
13
+
14
+ Metrics/ClassLength:
15
+ Max: 175
16
+
17
+ Metrics/MethodLength:
18
+ Max: 25
19
+
20
+ Metrics/ParameterLists:
21
+ Max: 20
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,187 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2017-07-07 14:30:20 -0700 using RuboCop version 0.49.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ # Cop supports --auto-correct.
11
+ # Configuration parameters: AllowForAlignment, ForceEqualSignAlignment.
12
+ Layout/ExtraSpacing:
13
+ Exclude:
14
+ - 'twilio-ruby.gemspec'
15
+
16
+ # Offense count: 1
17
+ # Cop supports --auto-correct.
18
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
19
+ # SupportedStyles: auto_detection, squiggly, active_support, powerpack, unindent
20
+ Layout/IndentHeredoc:
21
+ Exclude:
22
+ - 'Rakefile'
23
+
24
+ # Offense count: 2
25
+ # Cop supports --auto-correct.
26
+ # Configuration parameters: AllowForAlignment.
27
+ Layout/SpaceAroundOperators:
28
+ Exclude:
29
+ - 'spec/jwt/client_capability_spec.rb'
30
+
31
+ # Offense count: 8
32
+ # Cop supports --auto-correct.
33
+ # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SupportedStylesForEmptyBraces.
34
+ # SupportedStyles: space, no_space, compact
35
+ # SupportedStylesForEmptyBraces: space, no_space
36
+ Layout/SpaceInsideHashLiteralBraces:
37
+ Exclude:
38
+ - 'spec/jwt/access_token_spec.rb'
39
+ - 'spec/jwt/client_capability_spec.rb'
40
+
41
+ # Offense count: 1
42
+ # Cop supports --auto-correct.
43
+ Layout/TrailingWhitespace:
44
+ Exclude:
45
+ - 'lib/twilio-ruby/jwt/jwt.rb'
46
+
47
+ # Offense count: 2
48
+ # Cop supports --auto-correct.
49
+ # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
50
+ Lint/UnusedBlockArgument:
51
+ Exclude:
52
+ - 'Rakefile'
53
+ - 'spec/rack/twilio_webhook_authentication_spec.rb'
54
+
55
+ # Offense count: 4
56
+ # Cop supports --auto-correct.
57
+ # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods.
58
+ Lint/UnusedMethodArgument:
59
+ Exclude:
60
+ - 'lib/twilio-ruby.rb'
61
+ - 'lib/twilio-ruby/framework/page.rb'
62
+ - 'spec/holodeck/holodeck.rb'
63
+
64
+ # Offense count: 1
65
+ # Configuration parameters: ContextCreatingMethods, MethodCreatingMethods.
66
+ Lint/UselessAccessModifier:
67
+ Exclude:
68
+ - 'lib/twilio-ruby/jwt/access_token.rb'
69
+
70
+ # Offense count: 14
71
+ Lint/UselessAssignment:
72
+ Exclude:
73
+ - 'spec/rack/twilio_webhook_authentication_spec.rb'
74
+
75
+ # Offense count: 3
76
+ Metrics/AbcSize:
77
+ Max: 28
78
+
79
+ # Offense count: 24
80
+ # Configuration parameters: CountComments, ExcludedMethods.
81
+ Metrics/BlockLength:
82
+ Max: 349
83
+
84
+ # Offense count: 53
85
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
86
+ # URISchemes: http, https
87
+ Metrics/LineLength:
88
+ Max: 249
89
+
90
+ # Offense count: 1
91
+ # Cop supports --auto-correct.
92
+ Performance/RedundantMatch:
93
+ Exclude:
94
+ - 'lib/twilio-ruby/framework/domain.rb'
95
+
96
+ # Offense count: 7
97
+ # Cop supports --auto-correct.
98
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
99
+ # SupportedStyles: braces, no_braces, context_dependent
100
+ Style/BracesAroundHashParameters:
101
+ Exclude:
102
+ - 'spec/framework/serialize_spec.rb'
103
+ - 'spec/jwt/access_token_spec.rb'
104
+ - 'spec/jwt/client_capability_spec.rb'
105
+ - 'spec/rack/twilio_webhook_authentication_spec.rb'
106
+ - 'spec/twiml/voice_response_spec.rb'
107
+
108
+ # Offense count: 35
109
+ Style/Documentation:
110
+ Enabled: false
111
+
112
+ # Offense count: 1
113
+ # Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts, AllowedAcronyms.
114
+ # AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
115
+ Style/FileName:
116
+ Exclude:
117
+ - 'lib/twilio-ruby.rb'
118
+
119
+ # Offense count: 3
120
+ # Configuration parameters: MinBodyLength.
121
+ Style/GuardClause:
122
+ Exclude:
123
+ - 'lib/twilio-ruby/framework/page.rb'
124
+
125
+ # Offense count: 1
126
+ # Cop supports --auto-correct.
127
+ # Configuration parameters: EnforcedStyle, SupportedStyles, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
128
+ # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
129
+ Style/HashSyntax:
130
+ Exclude:
131
+ - 'spec/jwt/access_token_spec.rb'
132
+
133
+ # Offense count: 2
134
+ # Cop supports --auto-correct.
135
+ Style/RedundantSelf:
136
+ Exclude:
137
+ - 'lib/twilio-ruby/framework/serialize.rb'
138
+
139
+ # Offense count: 16
140
+ # Cop supports --auto-correct.
141
+ # Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
142
+ # SupportedStyles: slashes, percent_r, mixed
143
+ Style/RegexpLiteral:
144
+ Exclude:
145
+ - 'lib/twilio-ruby/framework/domain.rb'
146
+ - 'lib/twilio-ruby/framework/helper.rb'
147
+ - 'lib/twilio-ruby/framework/version.rb'
148
+ - 'spec/rack/twilio_webhook_authentication_spec.rb'
149
+
150
+ # Offense count: 3
151
+ # Cop supports --auto-correct.
152
+ # Configuration parameters: EnforcedStyle, SupportedStyles, ConsistentQuotesInMultiline.
153
+ # SupportedStyles: single_quotes, double_quotes
154
+ Style/StringLiterals:
155
+ Exclude:
156
+ - 'spec/framework/serialize_spec.rb'
157
+
158
+ # Offense count: 1
159
+ # Cop supports --auto-correct.
160
+ # Configuration parameters: MinSize, SupportedStyles.
161
+ # SupportedStyles: percent, brackets
162
+ Style/SymbolArray:
163
+ EnforcedStyle: brackets
164
+
165
+ # Offense count: 13
166
+ # Cop supports --auto-correct.
167
+ # Configuration parameters: AllowNamedUnderscoreVariables.
168
+ Style/TrailingUnderscoreVariable:
169
+ Exclude:
170
+ - 'spec/jwt/access_token_spec.rb'
171
+ - 'spec/jwt/client_capability_spec.rb'
172
+ - 'spec/jwt/task_router_spec.rb'
173
+
174
+ # Offense count: 15
175
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
176
+ # SupportedStyles: snake_case, camelCase
177
+ Style/VariableName:
178
+ Exclude:
179
+ - 'spec/jwt/client_capability_spec.rb'
180
+ - 'spec/jwt/task_router_spec.rb'
181
+
182
+ # Offense count: 3
183
+ # Cop supports --auto-correct.
184
+ # Configuration parameters: SupportedStyles, MinSize, WordRegex.
185
+ # SupportedStyles: percent, brackets
186
+ Style/WordArray:
187
+ EnforcedStyle: brackets
data/.travis.yml ADDED
@@ -0,0 +1,13 @@
1
+ sudo: false
2
+ language: ruby
3
+ cache: bundler
4
+ bundler_args: --without development
5
+ rvm:
6
+ - ruby-head
7
+ - 2.4.0
8
+ - 2.3.0
9
+ - 2.2.0
10
+ - 2.1.0
11
+ - 2.0.0
12
+ matrix:
13
+ fast_finish: true
data/CHANGES.md CHANGED
@@ -1,5 +1,9 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
+ [2017-07-13] Version 5.0.0
4
+ --------------------------------
5
+ - Moving to General Availability
6
+
3
7
  [2017-07-07] Version 5.0.0.rc26
4
8
  --------------------------------
5
9
  **Api**
data/Gemfile CHANGED
@@ -3,8 +3,8 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  group :test do
6
- gem 'rake', '~> 10.1'
7
- gem 'rspec', '~> 3.0'
8
6
  gem 'fakeweb', '~> 1.3'
9
7
  gem 'rack', '~> 1.3'
8
+ gem 'rake', '~> 10.1'
9
+ gem 'rspec', '~> 3.0'
10
10
  end
data/Makefile CHANGED
@@ -1,15 +1,22 @@
1
+ .PHONY: test lint-changed lint
2
+
3
+ CHANGED_RUBY_FILES = $(shell git status --porcelain | grep ".rb" | awk -F ' ' '{print $2}' | tr '\n' ' ')
4
+
1
5
  install:
2
6
  bundle install; bundle exec rake install
3
7
 
4
8
  test-install:
5
9
  bundle install
6
10
 
7
- test:
11
+ test: lint
8
12
  bundle exec rake spec
9
13
 
10
14
  docs:
11
15
  yard doc
12
16
 
17
+ lint:
18
+ rubocop --cache true --parallel
19
+
13
20
  authors:
14
21
  echo "Authors\n=======\n\nA huge thanks to all of our contributors:\n\n" > AUTHORS.md
15
22
  git log --raw | grep "^Author: " | cut -d ' ' -f2- | cut -d '<' -f1 | sed 's/^/- /' | sort | uniq >> AUTHORS.md
data/Rakefile CHANGED
@@ -22,14 +22,10 @@ task :deploy, [:version] => [:spec, :authors] do |t, args|
22
22
  increment = version_parts.pop
23
23
  increment_prefix = increment.split(/\d/)[0]
24
24
 
25
- if increment_prefix
26
- increment = increment[increment_prefix.length..-1]
27
- end
25
+ increment = increment[increment_prefix.length..-1] if increment_prefix
28
26
 
29
27
  increment = increment.to_i + 1
30
- if increment_prefix
31
- increment = "#{increment_prefix}#{increment}"
32
- end
28
+ increment = "#{increment_prefix}#{increment}" if increment_prefix
33
29
 
34
30
  version = [*version_parts, increment].join('.')
35
31
  else
@@ -65,4 +61,4 @@ SRC
65
61
 
66
62
  # Push the tags
67
63
  `git push --tags`
68
- end
64
+ end
data/examples/examples.rb CHANGED
@@ -31,7 +31,7 @@ end
31
31
 
32
32
  # get a particular call and list its recording urls
33
33
  @client.calls('CAXXXXXXX').recordings.each do |r|
34
- puts r.wav
34
+ puts r.wav
35
35
  end
36
36
 
37
37
  # make a new outgoing call. returns a call object just like calls.get
@@ -79,7 +79,7 @@ puts @client.messages('SMXXXXXXXX').fetch.body
79
79
 
80
80
  # print some available numbers
81
81
  @client.available_phone_numbers('US').local.list.each do |num|
82
-
82
+ puts num
83
83
  end
84
84
 
85
85
  @numbers = @client.available_phone_numbers('US').local.list(area_code: '908')
@@ -89,9 +89,7 @@ end
89
89
  @client.incoming_phone_numbers.create(phone_number: @numbers[0].phone_number)
90
90
 
91
91
  # update an existing phone number's voice url
92
- @client.incoming_phone_numbers('PNxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx').update(
93
- voice_url: 'http://example.com/voice'
94
- )
92
+ @client.incoming_phone_numbers('PNxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx').update(voice_url: 'http://example.com/voice')
95
93
 
96
94
  # decommission an existing phone number
97
95
  numbers = @client.incoming_phone_numbers.list(friendly_name: 'A Fabulous Friendly Name')
@@ -110,8 +108,10 @@ conference = @client.conferences('CFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx').fetch
110
108
  end
111
109
 
112
110
  # update a conference participant
113
- @client.conferences('CFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
114
- .participants('CAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx').update(muted: 'true')
111
+ @client
112
+ .conferences('CFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
113
+ .participants('CAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
114
+ .update(muted: 'true')
115
115
 
116
116
  ################ QUEUES ###################
117
117
 
@@ -125,11 +125,13 @@ end
125
125
  @queue = @client.queues('QQxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx').fetch
126
126
  @members = @queue.members
127
127
 
128
- #list members
128
+ # list members
129
129
  @members.list.each do |m|
130
130
  puts m.wait_time
131
131
  end
132
132
 
133
133
  # dequeue a particular user and run twiml at a specific url
134
- @client.queues('QQxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
135
- .members('CAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx').update(url: 'http://myapp.com/deque', method: 'POST')
134
+ @client
135
+ .queues('QQxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
136
+ .members('CAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
137
+ .update(url: 'http://myapp.com/deque', method: 'POST')
@@ -12,13 +12,13 @@ auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
12
12
  # set up a client
13
13
  client = Twilio::REST::Client.new(account_sid, auth_token)
14
14
 
15
- calls = client.calls.page()
15
+ calls = client.calls.page
16
16
 
17
- begin
17
+ loop do
18
18
  calls.each do |call|
19
19
  price = call.price || '0.00' # since apparently prices can be nil...
20
20
  puts call.sid + "\t" + call.from + "\t" + call.to + "\t" + price.to_s
21
21
  end
22
22
  calls = calls.next_page
23
- end while not calls.nil?
24
-
23
+ break if calls.nil?
24
+ end
@@ -31,17 +31,16 @@ module Rack
31
31
  params = request.post? ? request.POST : {}
32
32
  auth_token = @auth_token || get_auth_token(params['AccountSid'])
33
33
  validator = Twilio::Security::RequestValidator.new(auth_token)
34
- signature = env['HTTP_X_TWILIO_SIGNATURE'] || ""
34
+ signature = env['HTTP_X_TWILIO_SIGNATURE'] || ''
35
35
  if validator.validate(original_url, params, signature)
36
36
  @app.call(env)
37
37
  else
38
38
  [
39
39
  403,
40
- {'Content-Type' => 'text/plain'},
40
+ { 'Content-Type' => 'text/plain' },
41
41
  ['Twilio Request Validation Failed.']
42
42
  ]
43
43
  end
44
44
  end
45
45
  end
46
-
47
46
  end
@@ -14,12 +14,8 @@ module Twilio
14
14
  "#{@base_url.chomp('/')}/#{uri.chomp('/').gsub(/^\//, '')}"
15
15
  end
16
16
 
17
- def request(method, uri, params={}, data={}, headers={}, auth=nil, timeout=nil)
18
- if uri.match(/^http/)
19
- url = uri
20
- else
21
- url = self.absolute_url(uri)
22
- end
17
+ def request(method, uri, params = {}, data = {}, headers = {}, auth = nil, timeout = nil)
18
+ url = uri.match(/^http/) ? uri : absolute_url(uri)
23
19
 
24
20
  @client.request(
25
21
  @host,
@@ -26,6 +26,5 @@ module Twilio
26
26
  "[HTTP #{status_code}] #{code} : #{message}"
27
27
  end
28
28
  end
29
-
30
29
  end
31
30
  end
@@ -6,4 +6,4 @@ module Twilio
6
6
  "#{left}/#{right}"
7
7
  end
8
8
  end
9
- end
9
+ end
@@ -1,29 +1,30 @@
1
1
  module Twilio
2
2
  module REST
3
+ # Page Base Class
3
4
  class Page
4
5
  include Enumerable
5
6
 
6
7
  META_KEYS = [
7
- 'end',
8
- 'first_page_uri',
9
- 'next_page_uri',
10
- 'last_page_uri',
11
- 'page',
12
- 'page_size',
13
- 'previous_page_uri',
14
- 'total',
15
- 'num_pages',
16
- 'start',
17
- 'uri'
18
- ]
8
+ 'end',
9
+ 'first_page_uri',
10
+ 'next_page_uri',
11
+ 'last_page_uri',
12
+ 'page',
13
+ 'page_size',
14
+ 'previous_page_uri',
15
+ 'total',
16
+ 'num_pages',
17
+ 'start',
18
+ 'uri'
19
+ ].freeze
19
20
 
20
21
  def initialize(version, response)
21
- payload = self.process_response(response)
22
+ payload = process_response(response)
22
23
 
23
24
  @version = version
24
25
  @payload = payload
25
26
  @solution = {}
26
- @records = self.load_page(payload)
27
+ @records = load_page(payload)
27
28
  end
28
29
 
29
30
  def process_response(response)
@@ -40,12 +41,10 @@ module Twilio
40
41
  else
41
42
  keys = payload.keys
42
43
  key = keys - META_KEYS
43
- if key.size == 1
44
- return payload[key.first]
45
- end
44
+ return payload[key.first] if key.size == 1
46
45
  end
47
46
 
48
- raise Twilio::REST::TwilioError.new('Page Records can not be deserialized')
47
+ raise Twilio::REST::TwilioError, 'Page Records can not be deserialized'
49
48
  end
50
49
 
51
50
  def previous_page_url
@@ -69,28 +68,28 @@ module Twilio
69
68
  end
70
69
 
71
70
  def get_instance(payload)
72
- raise Twilio::REST::TwilioError.new('Page.get_instance() must be implemented in the derived class')
71
+ raise Twilio::REST::TwilioError, 'Page.get_instance() must be implemented in the derived class'
73
72
  end
74
73
 
75
74
  def previous_page
76
- return nil unless self.previous_page_url
75
+ return nil unless previous_page_url
77
76
 
78
- response = @version.domain.request('GET', self.previous_page_url)
77
+ response = @version.domain.request('GET', previous_page_url)
79
78
 
80
79
  self.class.new(@version, response, @solution)
81
80
  end
82
81
 
83
82
  def next_page
84
- return nil unless self.next_page_url
83
+ return nil unless next_page_url
85
84
 
86
- response = @version.domain.request('GET', self.next_page_url)
85
+ response = @version.domain.request('GET', next_page_url)
87
86
 
88
87
  self.class.new(@version, response, @solution)
89
88
  end
90
89
 
91
90
  def each
92
91
  @records.each do |record|
93
- yield self.get_instance(record)
92
+ yield get_instance(record)
94
93
  end
95
94
  end
96
95
 
@@ -100,4 +99,3 @@ module Twilio
100
99
  end
101
100
  end
102
101
  end
103
-