twilio-ruby 5.0.0.alpha1 → 5.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (493) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +11 -2
  3. data/AUTHORS.md +32 -46
  4. data/CHANGES.md +1 -124
  5. data/Gemfile +2 -2
  6. data/LICENSE.md +12 -12
  7. data/Makefile +2 -15
  8. data/README.md +37 -29
  9. data/Rakefile +0 -54
  10. data/examples/examples.rb +57 -46
  11. data/examples/{print_call_log.rb → print-call-log.rb} +7 -7
  12. data/lib/rack/twilio_webhook_authentication.rb +6 -5
  13. data/lib/twilio-ruby.rb +16 -17
  14. data/lib/twilio-ruby/compatibility/v2010/account/call/feedback.rb +15 -0
  15. data/lib/twilio-ruby/compatibility/v2010/account/queue/member.rb +23 -0
  16. data/lib/twilio-ruby/framework/domain.rb +2 -2
  17. data/lib/twilio-ruby/framework/exception.rb +14 -0
  18. data/lib/twilio-ruby/framework/helper.rb +1 -1
  19. data/lib/twilio-ruby/framework/page.rb +30 -28
  20. data/lib/twilio-ruby/framework/resource.rb +2 -2
  21. data/lib/twilio-ruby/framework/serialize.rb +7 -58
  22. data/lib/twilio-ruby/framework/twilio_response.rb +1 -1
  23. data/lib/twilio-ruby/framework/version.rb +48 -43
  24. data/lib/twilio-ruby/http/http_client.rb +8 -8
  25. data/lib/twilio-ruby/rest/api.rb +33 -141
  26. data/lib/twilio-ruby/rest/api/v2010.rb +31 -50
  27. data/lib/twilio-ruby/rest/api/v2010/account.rb +239 -389
  28. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +122 -145
  29. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +56 -76
  30. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +127 -144
  31. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +83 -85
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +97 -92
  33. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +77 -142
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +77 -142
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +77 -142
  36. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +184 -232
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +84 -73
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +80 -85
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +115 -126
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +99 -114
  41. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +112 -150
  42. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +109 -228
  43. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +98 -101
  44. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +164 -287
  45. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +90 -152
  46. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +90 -152
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +90 -152
  48. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +138 -195
  49. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +100 -90
  50. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +106 -118
  51. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +105 -96
  52. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +117 -119
  53. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +95 -84
  54. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +103 -194
  55. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +93 -100
  56. data/lib/twilio-ruby/rest/api/v2010/account/sandbox.rb +304 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +30 -42
  58. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +113 -111
  59. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +115 -104
  60. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +133 -159
  61. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +96 -94
  62. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +96 -94
  63. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +114 -111
  64. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +113 -108
  65. data/lib/twilio-ruby/rest/api/v2010/account/sms.rb +140 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/sms/short_code.rb +431 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/sms/sms_message.rb +467 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +34 -41
  69. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +90 -98
  70. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +24 -21
  71. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +118 -139
  72. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +62 -106
  73. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +62 -106
  74. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +62 -106
  75. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +62 -106
  76. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +62 -106
  77. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +62 -106
  78. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +62 -106
  79. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +62 -106
  80. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +124 -130
  81. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +31 -35
  82. data/lib/twilio-ruby/rest/client.rb +88 -249
  83. data/lib/twilio-ruby/rest/{accounts.rb → conversations.rb} +14 -16
  84. data/lib/twilio-ruby/rest/conversations/v1.rb +35 -0
  85. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +270 -0
  86. data/lib/twilio-ruby/rest/{notify/v1/service/segment.rb → conversations/v1/conversation/completed.rb} +101 -101
  87. data/lib/twilio-ruby/rest/{preview/bulk_exports/export/day.rb → conversations/v1/conversation/in_progress.rb} +109 -95
  88. data/lib/twilio-ruby/rest/{messaging/v1/service/phone_number.rb → conversations/v1/conversation/participant.rb} +171 -178
  89. data/lib/twilio-ruby/rest/ip_messaging.rb +11 -26
  90. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +7 -19
  91. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +112 -113
  92. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +131 -542
  93. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +132 -194
  94. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +103 -159
  95. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +102 -183
  96. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +112 -107
  97. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +113 -186
  98. data/lib/twilio-ruby/rest/lookups.rb +8 -12
  99. data/lib/twilio-ruby/rest/lookups/v1.rb +7 -13
  100. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +54 -71
  101. data/lib/twilio-ruby/rest/monitor.rb +11 -19
  102. data/lib/twilio-ruby/rest/monitor/v1.rb +7 -19
  103. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +133 -121
  104. data/lib/twilio-ruby/rest/monitor/v1/event.rb +127 -116
  105. data/lib/twilio-ruby/rest/pricing.rb +11 -17
  106. data/lib/twilio-ruby/rest/pricing/v1.rb +9 -21
  107. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +23 -27
  108. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +74 -71
  109. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +23 -27
  110. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +79 -69
  111. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +27 -33
  112. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +74 -71
  113. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +52 -47
  114. data/lib/twilio-ruby/rest/taskrouter.rb +8 -12
  115. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -11
  116. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +153 -260
  117. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +114 -115
  118. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +101 -105
  119. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +139 -216
  120. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +106 -194
  121. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +145 -187
  122. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +65 -57
  123. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +57 -62
  124. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +135 -217
  125. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +60 -54
  126. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +56 -52
  127. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +123 -140
  128. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +61 -57
  129. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +72 -52
  130. data/lib/twilio-ruby/rest/trunking.rb +8 -12
  131. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -11
  132. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +134 -157
  133. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +93 -89
  134. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +93 -89
  135. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +111 -114
  136. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +112 -146
  137. data/lib/twilio-ruby/task_router.rb +0 -0
  138. data/lib/twilio-ruby/task_router/capability.rb +87 -0
  139. data/lib/twilio-ruby/twiml/response.rb +16 -0
  140. data/lib/twilio-ruby/util.rb +1 -1
  141. data/lib/twilio-ruby/util/access_token.rb +70 -0
  142. data/lib/twilio-ruby/util/capability.rb +64 -0
  143. data/lib/twilio-ruby/util/client_config.rb +29 -0
  144. data/lib/twilio-ruby/{security → util}/request_validator.rb +4 -21
  145. data/lib/twilio-ruby/version.rb +1 -1
  146. data/spec/holodeck/holodeck.rb +6 -6
  147. data/spec/holodeck/hologram.rb +1 -0
  148. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +8 -8
  149. data/spec/integration/api/v2010/account/address_spec.rb +29 -37
  150. data/spec/integration/api/v2010/account/application_spec.rb +29 -29
  151. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +13 -13
  152. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +8 -9
  153. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +8 -9
  154. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +8 -9
  155. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +13 -13
  156. data/spec/integration/api/v2010/account/call/feedback_spec.rb +17 -17
  157. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +19 -19
  158. data/spec/integration/api/v2010/account/call/notification_spec.rb +18 -18
  159. data/spec/integration/api/v2010/account/call/recording_spec.rb +20 -32
  160. data/spec/integration/api/v2010/account/call_spec.rb +29 -29
  161. data/spec/integration/api/v2010/account/conference/participant_spec.rb +35 -107
  162. data/spec/integration/api/v2010/account/conference_spec.rb +19 -58
  163. data/spec/integration/api/v2010/account/connect_app_spec.rb +18 -18
  164. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +14 -16
  165. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +14 -16
  166. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +14 -16
  167. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +29 -41
  168. data/spec/integration/api/v2010/account/message/media_spec.rb +18 -18
  169. data/spec/integration/api/v2010/account/message_spec.rb +35 -41
  170. data/spec/integration/api/v2010/account/notification_spec.rb +18 -18
  171. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +23 -23
  172. data/spec/integration/api/v2010/account/queue/member_spec.rb +18 -18
  173. data/spec/integration/api/v2010/account/queue_spec.rb +32 -35
  174. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +18 -18
  175. data/spec/integration/api/v2010/account/recording_spec.rb +21 -42
  176. data/spec/integration/api/v2010/account/sandbox_spec.rb +99 -0
  177. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +36 -32
  178. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +29 -29
  179. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +24 -24
  180. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +24 -24
  181. data/spec/integration/api/v2010/account/sip/domain_spec.rb +29 -29
  182. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +36 -32
  183. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +29 -29
  184. data/spec/integration/api/v2010/account/sip_spec.rb +1 -1
  185. data/spec/integration/api/v2010/account/{short_code_spec.rb → sms/short_code_spec.rb} +25 -18
  186. data/spec/integration/api/v2010/account/sms/sms_message_spec.rb +275 -0
  187. data/spec/integration/{accounts/v1/credential_spec.rb → api/v2010/account/sms_spec.rb} +2 -2
  188. data/spec/integration/api/v2010/account/token_spec.rb +7 -7
  189. data/spec/integration/api/v2010/account/transcription_spec.rb +18 -18
  190. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +8 -8
  191. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +8 -8
  192. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +8 -8
  193. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +8 -8
  194. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +8 -8
  195. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +8 -8
  196. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +8 -8
  197. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +8 -8
  198. data/spec/integration/api/v2010/account/usage/record_spec.rb +8 -8
  199. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +32 -32
  200. data/spec/integration/api/v2010/account/usage_spec.rb +1 -1
  201. data/spec/integration/api/v2010/account/validation_request_spec.rb +4 -24
  202. data/spec/integration/api/v2010/account_spec.rb +28 -24
  203. data/spec/integration/conversations/v1/conversation/completed_spec.rb +89 -0
  204. data/spec/integration/conversations/v1/conversation/in_progress_spec.rb +89 -0
  205. data/spec/integration/conversations/v1/conversation/participant_spec.rb +174 -0
  206. data/spec/integration/conversations/v1/conversation_spec.rb +49 -0
  207. data/spec/integration/ip_messaging/v1/credential_spec.rb +24 -155
  208. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +13 -217
  209. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +10 -241
  210. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +23 -205
  211. data/spec/integration/ip_messaging/v1/service/role_spec.rb +19 -184
  212. data/spec/integration/ip_messaging/v1/service/user_spec.rb +24 -194
  213. data/spec/integration/ip_messaging/v1/service_spec.rb +17 -229
  214. data/spec/integration/lookups/v1/phone_number_spec.rb +6 -17
  215. data/spec/integration/monitor/v1/alert_spec.rb +60 -60
  216. data/spec/integration/monitor/v1/event_spec.rb +13 -13
  217. data/spec/integration/pricing/v1/messaging/country_spec.rb +7 -103
  218. data/spec/integration/pricing/v1/messaging_spec.rb +1 -1
  219. data/spec/integration/pricing/v1/phone_number/country_spec.rb +13 -13
  220. data/spec/integration/pricing/v1/phone_number_spec.rb +1 -1
  221. data/spec/integration/pricing/v1/voice/country_spec.rb +13 -13
  222. data/spec/integration/pricing/v1/voice/number_spec.rb +6 -6
  223. data/spec/integration/pricing/v1/voice_spec.rb +1 -1
  224. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +38 -34
  225. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +13 -13
  226. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +24 -21
  227. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +11 -13
  228. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +17 -18
  229. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +41 -57
  230. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +50 -113
  231. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +6 -7
  232. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +6 -7
  233. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +68 -96
  234. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +12 -14
  235. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +43 -54
  236. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +9 -11
  237. data/spec/integration/taskrouter/v1/workspace_spec.rb +51 -71
  238. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +24 -24
  239. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +66 -66
  240. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +28 -28
  241. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +23 -23
  242. data/spec/integration/trunking/v1/trunk_spec.rb +28 -28
  243. data/spec/rack/twilio_webhook_authentication_spec.rb +23 -19
  244. data/spec/spec_helper.rb +2 -2
  245. data/spec/support/fakeweb.rb +1 -1
  246. data/spec/task_router_spec.rb +114 -0
  247. data/spec/util/access_token_spec.rb +103 -0
  248. data/spec/util/capability_spec.rb +186 -0
  249. data/spec/util/client_config_spec.rb +21 -0
  250. data/spec/{security → util}/request_validator_spec.rb +5 -5
  251. data/twilio-ruby.gemspec +8 -12
  252. metadata +90 -416
  253. data/.rubocop.yml +0 -21
  254. data/.rubocop_todo.yml +0 -187
  255. data/VERSIONS.md +0 -64
  256. data/lib/twilio-ruby/framework/error.rb +0 -30
  257. data/lib/twilio-ruby/framework/values.rb +0 -7
  258. data/lib/twilio-ruby/jwt/access_token.rb +0 -232
  259. data/lib/twilio-ruby/jwt/client_capability.rb +0 -102
  260. data/lib/twilio-ruby/jwt/jwt.rb +0 -50
  261. data/lib/twilio-ruby/jwt/task_router.rb +0 -174
  262. data/lib/twilio-ruby/rest/accounts/v1.rb +0 -39
  263. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +0 -105
  264. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +0 -370
  265. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +0 -431
  266. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +0 -350
  267. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +0 -336
  268. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +0 -165
  269. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +0 -153
  270. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +0 -153
  271. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +0 -397
  272. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +0 -378
  273. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +0 -430
  274. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +0 -336
  275. data/lib/twilio-ruby/rest/chat.rb +0 -59
  276. data/lib/twilio-ruby/rest/chat/v1.rb +0 -56
  277. data/lib/twilio-ruby/rest/chat/v1/credential.rb +0 -403
  278. data/lib/twilio-ruby/rest/chat/v1/service.rb +0 -935
  279. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +0 -554
  280. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +0 -386
  281. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +0 -431
  282. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +0 -447
  283. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +0 -396
  284. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +0 -467
  285. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +0 -244
  286. data/lib/twilio-ruby/rest/chat/v2.rb +0 -56
  287. data/lib/twilio-ruby/rest/chat/v2/credential.rb +0 -403
  288. data/lib/twilio-ruby/rest/chat/v2/service.rb +0 -688
  289. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +0 -554
  290. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +0 -386
  291. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +0 -431
  292. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +0 -447
  293. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +0 -396
  294. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +0 -467
  295. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +0 -244
  296. data/lib/twilio-ruby/rest/fax.rb +0 -44
  297. data/lib/twilio-ruby/rest/fax/v1.rb +0 -41
  298. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -541
  299. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -326
  300. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +0 -386
  301. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +0 -244
  302. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +0 -56
  303. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +0 -403
  304. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +0 -688
  305. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +0 -554
  306. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +0 -386
  307. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +0 -431
  308. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +0 -447
  309. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +0 -396
  310. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +0 -467
  311. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +0 -244
  312. data/lib/twilio-ruby/rest/messaging.rb +0 -44
  313. data/lib/twilio-ruby/rest/messaging/v1.rb +0 -41
  314. data/lib/twilio-ruby/rest/messaging/v1/service.rb +0 -637
  315. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +0 -352
  316. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +0 -359
  317. data/lib/twilio-ruby/rest/notify.rb +0 -52
  318. data/lib/twilio-ruby/rest/notify/v1.rb +0 -56
  319. data/lib/twilio-ruby/rest/notify/v1/credential.rb +0 -403
  320. data/lib/twilio-ruby/rest/notify/v1/service.rb +0 -639
  321. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +0 -430
  322. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +0 -288
  323. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +0 -445
  324. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +0 -254
  325. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +0 -434
  326. data/lib/twilio-ruby/rest/preview.rb +0 -145
  327. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -56
  328. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -203
  329. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -243
  330. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +0 -42
  331. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +0 -557
  332. data/lib/twilio-ruby/rest/preview/marketplace.rb +0 -58
  333. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +0 -333
  334. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +0 -301
  335. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +0 -440
  336. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +0 -341
  337. data/lib/twilio-ruby/rest/preview/proxy.rb +0 -41
  338. data/lib/twilio-ruby/rest/preview/proxy/service.rb +0 -500
  339. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +0 -359
  340. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +0 -536
  341. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +0 -429
  342. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +0 -506
  343. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +0 -452
  344. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +0 -359
  345. data/lib/twilio-ruby/rest/preview/sync.rb +0 -41
  346. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -504
  347. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -445
  348. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -395
  349. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -438
  350. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -430
  351. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -395
  352. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -438
  353. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -432
  354. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -395
  355. data/lib/twilio-ruby/rest/preview/wireless.rb +0 -71
  356. data/lib/twilio-ruby/rest/preview/wireless/command.rb +0 -382
  357. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +0 -435
  358. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +0 -544
  359. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +0 -236
  360. data/lib/twilio-ruby/rest/sync.rb +0 -44
  361. data/lib/twilio-ruby/rest/sync/v1.rb +0 -41
  362. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -504
  363. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +0 -445
  364. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -395
  365. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +0 -438
  366. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +0 -430
  367. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -395
  368. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +0 -438
  369. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +0 -432
  370. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +0 -395
  371. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +0 -315
  372. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +0 -461
  373. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +0 -406
  374. data/lib/twilio-ruby/rest/video.rb +0 -52
  375. data/lib/twilio-ruby/rest/video/v1.rb +0 -56
  376. data/lib/twilio-ruby/rest/video/v1/recording.rb +0 -382
  377. data/lib/twilio-ruby/rest/video/v1/room.rb +0 -485
  378. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -381
  379. data/lib/twilio-ruby/rest/wireless.rb +0 -60
  380. data/lib/twilio-ruby/rest/wireless/v1.rb +0 -71
  381. data/lib/twilio-ruby/rest/wireless/v1/command.rb +0 -367
  382. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +0 -452
  383. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +0 -548
  384. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +0 -235
  385. data/lib/twilio-ruby/twiml/messaging_response.rb +0 -141
  386. data/lib/twilio-ruby/twiml/twiml.rb +0 -69
  387. data/lib/twilio-ruby/twiml/voice_response.rb +0 -916
  388. data/spec/framework/serialize_spec.rb +0 -59
  389. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
  390. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  391. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  392. data/spec/integration/api/v2010/account/key_spec.rb +0 -178
  393. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -48
  394. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -45
  395. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -45
  396. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -175
  397. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -166
  398. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -178
  399. data/spec/integration/chat/v1/credential_spec.rb +0 -223
  400. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
  401. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
  402. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
  403. data/spec/integration/chat/v1/service/channel_spec.rb +0 -275
  404. data/spec/integration/chat/v1/service/role_spec.rb +0 -263
  405. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -92
  406. data/spec/integration/chat/v1/service/user_spec.rb +0 -266
  407. data/spec/integration/chat/v1/service_spec.rb +0 -299
  408. data/spec/integration/chat/v2/credential_spec.rb +0 -223
  409. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
  410. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -284
  411. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -294
  412. data/spec/integration/chat/v2/service/channel_spec.rb +0 -275
  413. data/spec/integration/chat/v2/service/role_spec.rb +0 -263
  414. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -92
  415. data/spec/integration/chat/v2/service/user_spec.rb +0 -266
  416. data/spec/integration/chat/v2/service_spec.rb +0 -325
  417. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -126
  418. data/spec/integration/fax/v1/fax_spec.rb +0 -272
  419. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
  420. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -92
  421. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
  422. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
  423. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -284
  424. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -294
  425. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -275
  426. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
  427. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -92
  428. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -266
  429. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -325
  430. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  431. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  432. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  433. data/spec/integration/messaging/v1/service_spec.rb +0 -263
  434. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  435. data/spec/integration/notify/v1/service/binding_spec.rb +0 -227
  436. data/spec/integration/notify/v1/service/notification_spec.rb +0 -97
  437. data/spec/integration/notify/v1/service/segment_spec.rb +0 -84
  438. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +0 -118
  439. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +0 -269
  440. data/spec/integration/notify/v1/service/user_spec.rb +0 -213
  441. data/spec/integration/notify/v1/service_spec.rb +0 -280
  442. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -56
  443. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  444. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -43
  445. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -280
  446. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  447. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  448. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  449. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -252
  450. data/spec/integration/preview/proxy/service/phone_number_spec.rb +0 -173
  451. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +0 -104
  452. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +0 -164
  453. data/spec/integration/preview/proxy/service/session/participant_spec.rb +0 -226
  454. data/spec/integration/preview/proxy/service/session_spec.rb +0 -216
  455. data/spec/integration/preview/proxy/service/short_code_spec.rb +0 -173
  456. data/spec/integration/preview/proxy/service_spec.rb +0 -200
  457. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -206
  458. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  459. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -256
  460. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -206
  461. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -207
  462. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -257
  463. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -206
  464. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -207
  465. data/spec/integration/preview/sync/service_spec.rb +0 -244
  466. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  467. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -260
  468. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -49
  469. data/spec/integration/preview/wireless/sim_spec.rb +0 -208
  470. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -206
  471. data/spec/integration/sync/v1/service/document_spec.rb +0 -254
  472. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -256
  473. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -206
  474. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -207
  475. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  476. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -206
  477. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -207
  478. data/spec/integration/sync/v1/service_spec.rb +0 -244
  479. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -127
  480. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -192
  481. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -201
  482. data/spec/integration/video/v1/recording_spec.rb +0 -165
  483. data/spec/integration/video/v1/room/recording_spec.rb +0 -146
  484. data/spec/integration/video/v1/room_spec.rb +0 -237
  485. data/spec/integration/wireless/v1/command_spec.rb +0 -166
  486. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -268
  487. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -65
  488. data/spec/integration/wireless/v1/sim_spec.rb +0 -208
  489. data/spec/jwt/access_token_spec.rb +0 -130
  490. data/spec/jwt/client_capability_spec.rb +0 -104
  491. data/spec/jwt/task_router_spec.rb +0 -172
  492. data/spec/twiml/messaging_response_spec.rb +0 -90
  493. data/spec/twiml/voice_response_spec.rb +0 -474
@@ -0,0 +1,103 @@
1
+ require 'spec_helper'
2
+
3
+ describe Twilio::Util::AccessToken do
4
+
5
+ it 'should generate a token for no grants' do
6
+ scat = Twilio::Util::AccessToken.new 'SK123', 'AC123', 'secret'
7
+ token = scat.to_s
8
+ expect(token).not_to be_nil
9
+ payload, header = JWT.decode token, 'secret'
10
+
11
+ expect(payload['iss']).to eq('SK123')
12
+ expect(payload['sub']).to eq('AC123')
13
+ expect(payload['nbf']).not_to be_nil
14
+ expect(payload['exp']).not_to be_nil
15
+ expect(payload['nbf'] + 3600).to eq(payload['exp'])
16
+ expect(payload['jti']).not_to be_nil
17
+ expect("#{payload['iss']}-#{payload['nbf']}").to eq(payload['jti'])
18
+ expect(payload['grants']).not_to be_nil
19
+ expect(payload['grants'].count).to eq(0)
20
+ end
21
+
22
+ it 'should be able to add standard grants' do
23
+ scat = Twilio::Util::AccessToken.new 'SK123', 'AC123', 'secret'
24
+ scat.add_grant 'https://api.twilio.com/**'
25
+ token = scat.to_s
26
+ expect(token).not_to be_nil
27
+ payload, header = JWT.decode token, 'secret'
28
+
29
+ expect(payload['iss']).to eq('SK123')
30
+ expect(payload['sub']).to eq('AC123')
31
+ expect(payload['nbf']).not_to be_nil
32
+ expect(payload['exp']).not_to be_nil
33
+ expect(payload['nbf'] + 3600).to eq(payload['exp'])
34
+ expect(payload['jti']).not_to be_nil
35
+ expect("#{payload['iss']}-#{payload['nbf']}").to eq(payload['jti'])
36
+ expect(payload['grants']).not_to be_nil
37
+ expect(payload['grants'].count).to eq(1)
38
+ expect(payload['grants'][0]['res']).to eq('https://api.twilio.com/**')
39
+ expect(payload['grants'][0]['act']).to eq(['*'])
40
+ end
41
+
42
+ it 'should be able to add endpoint grants' do
43
+ scat = Twilio::Util::AccessToken.new 'SK123', 'AC123', 'secret'
44
+ scat.add_endpoint_grant 'bob'
45
+ token = scat.to_s
46
+ expect(token).not_to be_nil
47
+ payload, header = JWT.decode token, 'secret'
48
+
49
+ expect(payload['iss']).to eq('SK123')
50
+ expect(payload['sub']).to eq('AC123')
51
+ expect(payload['nbf']).not_to be_nil
52
+ expect(payload['exp']).not_to be_nil
53
+ expect(payload['nbf'] + 3600).to eq(payload['exp'])
54
+ expect(payload['jti']).not_to be_nil
55
+ expect("#{payload['iss']}-#{payload['nbf']}").to eq(payload['jti'])
56
+ expect(payload['grants']).not_to be_nil
57
+ expect(payload['grants'].count).to eq(1)
58
+ expect(payload['grants'][0]['res']).to eq('sip:bob@AC123.endpoint.twilio.com')
59
+ expect(payload['grants'][0]['act']).to eq([Twilio::Util::Action::Client::LISTEN, Twilio::Util::Action::Client::INVITE])
60
+ end
61
+
62
+ it 'should be able to add rest grants' do
63
+ scat = Twilio::Util::AccessToken.new 'SK123', 'AC123', 'secret'
64
+ scat.add_rest_grant 'Apps'
65
+ token = scat.to_s
66
+ expect(token).not_to be_nil
67
+ payload, header = JWT.decode token, 'secret'
68
+
69
+ expect(payload['iss']).to eq('SK123')
70
+ expect(payload['sub']).to eq('AC123')
71
+ expect(payload['nbf']).not_to be_nil
72
+ expect(payload['exp']).not_to be_nil
73
+ expect(payload['nbf'] + 3600).to eq(payload['exp'])
74
+ expect(payload['jti']).not_to be_nil
75
+ expect("#{payload['iss']}-#{payload['nbf']}").to eq(payload['jti'])
76
+ expect(payload['grants']).not_to be_nil
77
+ expect(payload['grants'].count).to eq(1)
78
+ expect(payload['grants'][0]['res']).to eq('https://api.twilio.com/2010-04-01/Accounts/AC123/Apps')
79
+ expect(payload['grants'][0]['act']).to eq([Twilio::Util::Action::ALL])
80
+ end
81
+
82
+ it 'should be able to enable NTS' do
83
+ scat = Twilio::Util::AccessToken.new 'SK123', 'AC123', 'secret'
84
+ scat.enable_nts
85
+ token = scat.to_s
86
+ expect(token).not_to be_nil
87
+ payload, header = JWT.decode token, 'secret'
88
+
89
+ expect(payload['iss']).to eq('SK123')
90
+ expect(payload['sub']).to eq('AC123')
91
+ expect(payload['nbf']).not_to be_nil
92
+ expect(payload['exp']).not_to be_nil
93
+ expect(payload['nbf'] + 3600).to eq(payload['exp'])
94
+ expect(payload['jti']).not_to be_nil
95
+ expect("#{payload['iss']}-#{payload['nbf']}").to eq(payload['jti'])
96
+ expect(payload['grants']).not_to be_nil
97
+ expect(payload['grants'].count).to eq(1)
98
+ expect(payload['grants'][0]['res']).to eq('https://api.twilio.com/2010-04-01/Accounts/AC123/Tokens')
99
+ expect(payload['grants'][0]['act']).to eq([Twilio::Util::Action::HTTP::POST])
100
+ end
101
+
102
+
103
+ end
@@ -0,0 +1,186 @@
1
+ require 'spec_helper'
2
+
3
+ describe Twilio::Util::Capability do
4
+ describe 'config' do
5
+ after(:each) do
6
+ Twilio.instance_variable_set('@configuration', nil)
7
+ end
8
+
9
+ it 'should set the account sid and auth token from a configuration block' do
10
+ Twilio.configure do |config|
11
+ config.account_sid = 'someSid'
12
+ config.auth_token = 'someToken'
13
+ end
14
+
15
+ capability = Twilio::Util::Capability.new
16
+ expect(capability.instance_variable_get('@account_sid')).to eq('someSid')
17
+ expect(capability.instance_variable_get('@auth_token')).to eq('someToken')
18
+ end
19
+
20
+ it 'should overwrite account sid and auth token if passed to initializer' do
21
+ Twilio.configure do |config|
22
+ config.account_sid = 'someSid'
23
+ config.auth_token = 'someToken'
24
+ end
25
+
26
+ capability = Twilio::Util::Capability.new'otherSid', 'otherToken'
27
+ expect(capability.instance_variable_get('@account_sid')).to eq('otherSid')
28
+ expect(capability.instance_variable_get('@auth_token')).to eq('otherToken')
29
+ end
30
+
31
+ it 'should overwrite the account sid if only the sid is given' do
32
+ Twilio.configure do |config|
33
+ config.account_sid = 'someSid'
34
+ config.auth_token = 'someToken'
35
+ end
36
+
37
+ capability = Twilio::Util::Capability.new 'otherSid'
38
+ expect(capability.instance_variable_get('@account_sid')).to eq('otherSid')
39
+ expect(capability.instance_variable_get('@auth_token')).to eq('someToken')
40
+ end
41
+
42
+ it 'should throw an argument error if the sid and token isn\'t set' do
43
+ expect { Twilio::Util::Capability.new }.to raise_error(ArgumentError)
44
+ end
45
+
46
+ it 'should throw an argument error if only the account_sid is set' do
47
+ expect { Twilio::Util::Capability.new 'someSid' }.to raise_error(ArgumentError)
48
+ end
49
+ end
50
+
51
+ describe 'with a capability' do
52
+ before :each do
53
+ @capability = Twilio::Util::Capability.new 'myAccountSid', 'myAuthToken'
54
+ end
55
+
56
+ def queries(q)
57
+ q.scan(/scope:client:(incoming|outgoing)\?(\S+)/).map{|(type, query)| [type, Rack::Utils.parse_query(query)]}
58
+ end
59
+
60
+ it 'should return a valid jwt when #generate is called' do
61
+ token = @capability.generate
62
+ decoded, header = JWT.decode token, 'myAuthToken'
63
+ expect(decoded['scope']).not_to be_nil
64
+ expect(decoded['iss']).not_to be_nil
65
+ expect(decoded['exp']).not_to be_nil
66
+ end
67
+
68
+ it 'should properly set the iss key in the payload' do
69
+ token = @capability.generate
70
+ decoded, header = JWT.decode token, 'myAuthToken'
71
+ expect(decoded['iss']).to eq('myAccountSid')
72
+ end
73
+
74
+ it 'should properly set the exp key based on the default hour ttl' do
75
+ seconds = Time.now.to_i
76
+ token = @capability.generate
77
+ decoded, header = JWT.decode token, 'myAuthToken'
78
+ expect(decoded['exp']).to eq(seconds + 3600)
79
+ end
80
+
81
+ it 'should properly set the exp key based on the ttl passed to #generate' do
82
+ ttl = rand 10000
83
+ seconds = Time.now.to_i
84
+ token = @capability.generate ttl
85
+ decoded, header = JWT.decode token, 'myAuthToken'
86
+ expect(decoded['exp']).to eq(seconds + ttl)
87
+ end
88
+
89
+ it 'should generate a proper incoming client scope string' do
90
+ @capability.allow_client_incoming 'andrew'
91
+ token = @capability.generate
92
+ decoded, header = JWT.decode token, 'myAuthToken'
93
+ expect(queries(decoded['scope'])).to eq([['incoming', {'clientName' => 'andrew'}]])
94
+ end
95
+
96
+ it 'should generate multiple proper incoming client scope strings' do
97
+ @capability.allow_client_incoming 'andrew'
98
+ @capability.allow_client_incoming 'bridget'
99
+ token = @capability.generate
100
+ decoded, header = JWT.decode token, 'myAuthToken'
101
+ expect(queries(decoded['scope'])).to eq([
102
+ ['incoming', {'clientName' => 'andrew'}],
103
+ ['incoming', {'clientName' => 'bridget'}]
104
+ ])
105
+ end
106
+
107
+ it 'should generate a proper outgoing client scope string' do
108
+ @capability.allow_client_outgoing 'myAppSid'
109
+ token = @capability.generate
110
+ decoded, header = JWT.decode token, 'myAuthToken'
111
+ expect(queries(decoded['scope'])).to eq([['outgoing', {'appSid' => 'myAppSid'}]])
112
+ end
113
+
114
+ it 'should generate a proper outgoing client scope string with parameters' do
115
+ app_params_hash = {'key' => 'a value', :foo => 'bar/baz'}
116
+ @capability.allow_client_outgoing 'myAppSid', app_params_hash
117
+ app_params = @capability.instance_eval {url_encode(app_params_hash)}
118
+ params_hash = {'appSid' => 'myAppSid', 'appParams' => app_params}
119
+ @capability.instance_eval {url_encode(params_hash)}
120
+ token = @capability.generate
121
+ decoded, header= JWT.decode token, 'myAuthToken'
122
+ expect(queries(decoded['scope'])).to eq([['outgoing', params_hash]])
123
+ end
124
+
125
+ it 'should generate a proper outgoing client scope string based on the ' +
126
+ 'client name when calling #allow_client_incoming first' do
127
+ @capability.allow_client_incoming 'andrew'
128
+ @capability.allow_client_outgoing 'myAppSid'
129
+ token = @capability.generate
130
+ decoded, header = JWT.decode token, 'myAuthToken'
131
+ expect(queries(decoded['scope'])).to eq([
132
+ ['incoming', {'clientName' => 'andrew'}],
133
+ ['outgoing', {'clientName' => 'andrew', 'appSid' => 'myAppSid'}]
134
+ ])
135
+ end
136
+
137
+ it 'should generate a proper outgoing client scope string based on the ' +
138
+ 'client name when calling #allow_client_incoming second' do
139
+ @capability.allow_client_outgoing 'myAppSid'
140
+ @capability.allow_client_incoming 'andrew'
141
+ token = @capability.generate
142
+ decoded, header = JWT.decode token, 'myAuthToken'
143
+ expect(queries(decoded['scope'])).to eq([["incoming", {"clientName"=>"andrew"}], ["outgoing", {"clientName"=>"andrew", "appSid"=>"myAppSid"}]])
144
+ end
145
+
146
+ it 'should generate a proper outgoing client scope string with parameters ' +
147
+ 'and a client name when calling #allow_client_incoming first' do
148
+ @capability.allow_client_incoming 'andrew'
149
+ app_params_hash = {'key' => 'a value', :foo => 'bar/baz'}
150
+ @capability.allow_client_outgoing 'myAppSid', app_params_hash
151
+ app_params = @capability.instance_eval {url_encode(app_params_hash)}
152
+ params_hash = {'appSid' => 'myAppSid', 'appParams' => app_params, 'clientName' => 'andrew'}
153
+ @capability.instance_eval {url_encode(params_hash)}
154
+ token = @capability.generate
155
+ decoded, header = JWT.decode token, 'myAuthToken'
156
+ scopes = queries(decoded['scope'])
157
+ expect(scopes.shift).to eq(["incoming", {"clientName"=>"andrew"}])
158
+ scope = scopes.shift
159
+ expect(scope.first).to eq('outgoing')
160
+ expect(Rack::Utils.parse_query(scope.last['appParams'])).to eq({'key' => 'a value', 'foo' => 'bar/baz'})
161
+ expect(scope.last["clientName"]).to eq("andrew")
162
+ expect(scope.last["appSid"]).to eq("myAppSid")
163
+ expect(scopes).to be_empty
164
+ end
165
+
166
+ it 'should generate a proper outgoing client scope string with parameters ' +
167
+ 'and a client name when calling #allow_client_incoming second' do
168
+ app_params_hash = {'key' => 'a value', :foo => 'bar/baz'}
169
+ @capability.allow_client_outgoing 'myAppSid', app_params_hash
170
+ @capability.allow_client_incoming 'andrew'
171
+ app_params = @capability.instance_eval {url_encode(app_params_hash)}
172
+ params_hash = {'appSid' => 'myAppSid', 'appParams' => app_params, 'clientName' => 'andrew'}
173
+ @capability.instance_eval {url_encode(params_hash)}
174
+ token = @capability.generate
175
+ decoded, header = JWT.decode token, 'myAuthToken'
176
+ scopes = queries(decoded['scope'])
177
+ expect(scopes.shift).to eq(["incoming", {"clientName"=>"andrew"}])
178
+ scope = scopes.shift
179
+ expect(scope.first).to eq('outgoing')
180
+ expect(Rack::Utils.parse_query(scope.last['appParams'])).to eq({'key' => 'a value', 'foo' => 'bar/baz'})
181
+ expect(scope.last["clientName"]).to eq("andrew")
182
+ expect(scope.last["appSid"]).to eq("myAppSid")
183
+ expect(scopes).to be_empty
184
+ end
185
+ end
186
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe Twilio::Util::ClientConfig do
4
+ Twilio::Util::ClientConfig::DEFAULTS.each do |attribute, value|
5
+ it "sets an attribute with a default value" do
6
+ config = Twilio::Util::ClientConfig.new
7
+ expect(config.send(attribute)).to eq(value)
8
+ end
9
+
10
+ it "can update the value for the attribute" do
11
+ config = Twilio::Util::ClientConfig.new
12
+ config.send("#{attribute}=", "blah")
13
+ expect(config.send(attribute)).to eq("blah")
14
+ end
15
+
16
+ it "can set the value from a hash in the initializer" do
17
+ config = Twilio::Util::ClientConfig.new(attribute => 'blah')
18
+ expect(config.send(attribute)).to eq("blah")
19
+ end
20
+ end
21
+ end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Twilio::Security::RequestValidator do
3
+ describe Twilio::Util::RequestValidator do
4
4
  describe 'configuration' do
5
5
  after(:each) do
6
6
  Twilio.instance_variable_set('@configuration', nil)
@@ -11,7 +11,7 @@ describe Twilio::Security::RequestValidator do
11
11
  config.auth_token = 'someToken'
12
12
  end
13
13
 
14
- validator = Twilio::Security::RequestValidator.new
14
+ validator = Twilio::Util::RequestValidator.new
15
15
  expect(validator.instance_variable_get('@auth_token')).to eq('someToken')
16
16
  end
17
17
 
@@ -20,19 +20,19 @@ describe Twilio::Security::RequestValidator do
20
20
  config.auth_token = 'someToken'
21
21
  end
22
22
 
23
- validator = Twilio::Security::RequestValidator.new 'otherToken'
23
+ validator = Twilio::Util::RequestValidator.new 'otherToken'
24
24
  expect(validator.instance_variable_get('@auth_token')).to eq('otherToken')
25
25
  end
26
26
 
27
27
  it 'should throw an argument error if the auth token isn\'t set' do
28
- expect { Twilio::Security::RequestValidator.new }.to raise_error(ArgumentError)
28
+ expect { Twilio::Util::RequestValidator.new }.to raise_error(ArgumentError)
29
29
  end
30
30
  end
31
31
 
32
32
  describe 'validations' do
33
33
  let(:token) { '2bd9e9638872de601313dc77410d3b23' }
34
34
 
35
- let(:validator) { Twilio::Security::RequestValidator.new token }
35
+ let(:validator) { Twilio::Util::RequestValidator.new token }
36
36
 
37
37
  let(:voice_url) { 'http://twiliotests.heroku.com/validate/voice' }
38
38
 
data/twilio-ruby.gemspec CHANGED
@@ -1,5 +1,4 @@
1
1
  # coding: utf-8
2
-
3
2
  lib = File.expand_path('../lib', __FILE__)
4
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
4
  require 'twilio-ruby/version'
@@ -7,33 +6,30 @@ require 'twilio-ruby/version'
7
6
  Gem::Specification.new do |spec|
8
7
  spec.name = 'twilio-ruby'
9
8
  spec.version = Twilio::VERSION
10
- spec.authors = ['Twilio API Team']
11
- spec.summary = 'A simple library for communicating with the Twilio REST API, '\
12
- 'building TwiML, and generating Twilio JWT Capability Tokens'
13
- spec.description = 'A simple library for communicating with the Twilio REST API, '\
14
- 'building TwiML, and generating Twilio JWT Capability Tokens'
9
+ spec.authors = ['Andrew Benton']
10
+ spec.email = ['andrew@twilio.com']
11
+ spec.summary = 'A simple library for communicating with the Twilio REST API, building TwiML, and generating Twilio Client Capability Tokens'
12
+ spec.description = 'A simple library for communicating with the Twilio REST API, building TwiML, and generating Twilio Client Capability Tokens'
15
13
  spec.homepage = 'http://github.com/twilio/twilio-ruby'
16
14
  spec.license = 'MIT'
17
- spec.metadata['yard.run'] = 'yri' # use "yard" to build full HTML docs.
18
15
 
19
16
  spec.files = `git ls-files -z`.split("\x0")
20
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
21
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
22
19
  spec.require_paths = ['lib']
23
- spec.required_ruby_version = '>= 2.0.0'
20
+ spec.required_ruby_version = '>= 1.9.3'
24
21
  spec.extra_rdoc_files = ['README.md', 'LICENSE.md']
25
22
  spec.rdoc_options = ['--line-numbers', '--inline-source', '--title', 'twilio-ruby', '--main', 'README.md']
26
23
 
27
- spec.add_dependency('libxml-ruby', '3.0.0')
28
- spec.add_dependency('jwt', '~> 1.5')
24
+ spec.add_dependency('builder', '>= 2.1.2')
25
+ spec.add_dependency('jwt', '~> 1.0')
26
+ spec.add_dependency('activesupport', '~> 4.2')
29
27
  spec.add_dependency('faraday', '~>0.9')
30
28
  spec.add_dependency('jruby-openssl') if RUBY_PLATFORM == 'java'
31
29
  # Workaround for RBX <= 2.2.1, should be fixed in next version
32
30
  spec.add_dependency('rubysl') if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx'
33
31
 
34
32
  spec.add_development_dependency 'bundler', '~> 1.5'
35
- spec.add_development_dependency 'rubocop', '~> 0.49.1'
36
- spec.add_development_dependency 'yard', '~> 0.9.9'
37
33
  spec.extra_rdoc_files = ['README.md', 'LICENSE.md']
38
34
  spec.rdoc_options = ['--line-numbers', '--inline-source', '--title', 'twilio-ruby', '--main', 'README.md']
39
35
  end
metadata CHANGED
@@ -1,112 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twilio-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0.alpha1
4
+ version: 5.0.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
- - Twilio API Team
7
+ - Andrew Benton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-13 00:00:00.000000000 Z
11
+ date: 2016-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: libxml-ruby
14
+ name: builder
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.0
19
+ version: 2.1.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '='
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
- version: 3.0.0
26
+ version: 2.1.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: jwt
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '1.5'
33
+ version: '1.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '1.5'
40
+ version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: faraday
42
+ name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: '0.9'
47
+ version: '4.2'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: '0.9'
54
+ version: '4.2'
55
55
  - !ruby/object:Gem::Dependency
56
- name: bundler
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '1.5'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '1.5'
69
- - !ruby/object:Gem::Dependency
70
- name: rubocop
56
+ name: faraday
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - "~>"
59
+ - - ~>
74
60
  - !ruby/object:Gem::Version
75
- version: 0.49.1
76
- type: :development
61
+ version: '0.9'
62
+ type: :runtime
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - "~>"
66
+ - - ~>
81
67
  - !ruby/object:Gem::Version
82
- version: 0.49.1
68
+ version: '0.9'
83
69
  - !ruby/object:Gem::Dependency
84
- name: yard
70
+ name: bundler
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
- - - "~>"
73
+ - - ~>
88
74
  - !ruby/object:Gem::Version
89
- version: 0.9.9
75
+ version: '1.5'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - "~>"
80
+ - - ~>
95
81
  - !ruby/object:Gem::Version
96
- version: 0.9.9
82
+ version: '1.5'
97
83
  description: A simple library for communicating with the Twilio REST API, building
98
- TwiML, and generating Twilio JWT Capability Tokens
99
- email:
84
+ TwiML, and generating Twilio Client Capability Tokens
85
+ email:
86
+ - andrew@twilio.com
100
87
  executables: []
101
88
  extensions: []
102
89
  extra_rdoc_files:
103
90
  - README.md
104
91
  - LICENSE.md
105
92
  files:
106
- - ".gitignore"
107
- - ".rubocop.yml"
108
- - ".rubocop_todo.yml"
109
- - ".travis.yml"
93
+ - .gitignore
94
+ - .travis.yml
110
95
  - AUTHORS.md
111
96
  - CHANGES.md
112
97
  - Gemfile
@@ -114,30 +99,22 @@ files:
114
99
  - Makefile
115
100
  - README.md
116
101
  - Rakefile
117
- - VERSIONS.md
118
102
  - conf/cacert.pem
119
103
  - examples/examples.rb
120
- - examples/print_call_log.rb
104
+ - examples/print-call-log.rb
121
105
  - lib/rack/twilio_webhook_authentication.rb
122
106
  - lib/twilio-ruby.rb
107
+ - lib/twilio-ruby/compatibility/v2010/account/call/feedback.rb
108
+ - lib/twilio-ruby/compatibility/v2010/account/queue/member.rb
123
109
  - lib/twilio-ruby/framework/domain.rb
124
- - lib/twilio-ruby/framework/error.rb
110
+ - lib/twilio-ruby/framework/exception.rb
125
111
  - lib/twilio-ruby/framework/helper.rb
126
112
  - lib/twilio-ruby/framework/page.rb
127
113
  - lib/twilio-ruby/framework/resource.rb
128
114
  - lib/twilio-ruby/framework/serialize.rb
129
115
  - lib/twilio-ruby/framework/twilio_response.rb
130
- - lib/twilio-ruby/framework/values.rb
131
116
  - lib/twilio-ruby/framework/version.rb
132
117
  - lib/twilio-ruby/http/http_client.rb
133
- - lib/twilio-ruby/jwt/access_token.rb
134
- - lib/twilio-ruby/jwt/client_capability.rb
135
- - lib/twilio-ruby/jwt/jwt.rb
136
- - lib/twilio-ruby/jwt/task_router.rb
137
- - lib/twilio-ruby/rest/accounts.rb
138
- - lib/twilio-ruby/rest/accounts/v1.rb
139
- - lib/twilio-ruby/rest/accounts/v1/credential.rb
140
- - lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb
141
118
  - lib/twilio-ruby/rest/api.rb
142
119
  - lib/twilio-ruby/rest/api/v2010.rb
143
120
  - lib/twilio-ruby/rest/api/v2010/account.rb
@@ -158,27 +135,18 @@ files:
158
135
  - lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb
159
136
  - lib/twilio-ruby/rest/api/v2010/account/connect_app.rb
160
137
  - lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb
161
- - lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb
162
- - lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb
163
138
  - lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb
164
139
  - lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb
165
140
  - lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb
166
- - lib/twilio-ruby/rest/api/v2010/account/key.rb
167
141
  - lib/twilio-ruby/rest/api/v2010/account/message.rb
168
- - lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb
169
142
  - lib/twilio-ruby/rest/api/v2010/account/message/media.rb
170
- - lib/twilio-ruby/rest/api/v2010/account/new_key.rb
171
- - lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb
172
143
  - lib/twilio-ruby/rest/api/v2010/account/notification.rb
173
144
  - lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb
174
145
  - lib/twilio-ruby/rest/api/v2010/account/queue.rb
175
146
  - lib/twilio-ruby/rest/api/v2010/account/queue/member.rb
176
147
  - lib/twilio-ruby/rest/api/v2010/account/recording.rb
177
- - lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb
178
- - lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb
179
148
  - lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb
180
- - lib/twilio-ruby/rest/api/v2010/account/short_code.rb
181
- - lib/twilio-ruby/rest/api/v2010/account/signing_key.rb
149
+ - lib/twilio-ruby/rest/api/v2010/account/sandbox.rb
182
150
  - lib/twilio-ruby/rest/api/v2010/account/sip.rb
183
151
  - lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb
184
152
  - lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb
@@ -187,6 +155,9 @@ files:
187
155
  - lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb
188
156
  - lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb
189
157
  - lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb
158
+ - lib/twilio-ruby/rest/api/v2010/account/sms.rb
159
+ - lib/twilio-ruby/rest/api/v2010/account/sms/short_code.rb
160
+ - lib/twilio-ruby/rest/api/v2010/account/sms/sms_message.rb
190
161
  - lib/twilio-ruby/rest/api/v2010/account/token.rb
191
162
  - lib/twilio-ruby/rest/api/v2010/account/transcription.rb
192
163
  - lib/twilio-ruby/rest/api/v2010/account/usage.rb
@@ -201,111 +172,29 @@ files:
201
172
  - lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb
202
173
  - lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb
203
174
  - lib/twilio-ruby/rest/api/v2010/account/validation_request.rb
204
- - lib/twilio-ruby/rest/chat.rb
205
- - lib/twilio-ruby/rest/chat/v1.rb
206
- - lib/twilio-ruby/rest/chat/v1/credential.rb
207
- - lib/twilio-ruby/rest/chat/v1/service.rb
208
- - lib/twilio-ruby/rest/chat/v1/service/channel.rb
209
- - lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb
210
- - lib/twilio-ruby/rest/chat/v1/service/channel/member.rb
211
- - lib/twilio-ruby/rest/chat/v1/service/channel/message.rb
212
- - lib/twilio-ruby/rest/chat/v1/service/role.rb
213
- - lib/twilio-ruby/rest/chat/v1/service/user.rb
214
- - lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb
215
- - lib/twilio-ruby/rest/chat/v2.rb
216
- - lib/twilio-ruby/rest/chat/v2/credential.rb
217
- - lib/twilio-ruby/rest/chat/v2/service.rb
218
- - lib/twilio-ruby/rest/chat/v2/service/channel.rb
219
- - lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb
220
- - lib/twilio-ruby/rest/chat/v2/service/channel/member.rb
221
- - lib/twilio-ruby/rest/chat/v2/service/channel/message.rb
222
- - lib/twilio-ruby/rest/chat/v2/service/role.rb
223
- - lib/twilio-ruby/rest/chat/v2/service/user.rb
224
- - lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb
225
175
  - lib/twilio-ruby/rest/client.rb
226
- - lib/twilio-ruby/rest/fax.rb
227
- - lib/twilio-ruby/rest/fax/v1.rb
228
- - lib/twilio-ruby/rest/fax/v1/fax.rb
229
- - lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb
176
+ - lib/twilio-ruby/rest/conversations.rb
177
+ - lib/twilio-ruby/rest/conversations/v1.rb
178
+ - lib/twilio-ruby/rest/conversations/v1/conversation.rb
179
+ - lib/twilio-ruby/rest/conversations/v1/conversation/completed.rb
180
+ - lib/twilio-ruby/rest/conversations/v1/conversation/in_progress.rb
181
+ - lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb
230
182
  - lib/twilio-ruby/rest/ip_messaging.rb
231
183
  - lib/twilio-ruby/rest/ip_messaging/v1.rb
232
184
  - lib/twilio-ruby/rest/ip_messaging/v1/credential.rb
233
185
  - lib/twilio-ruby/rest/ip_messaging/v1/service.rb
234
186
  - lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb
235
- - lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb
236
187
  - lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb
237
188
  - lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb
238
189
  - lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb
239
190
  - lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb
240
- - lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb
241
- - lib/twilio-ruby/rest/ip_messaging/v2.rb
242
- - lib/twilio-ruby/rest/ip_messaging/v2/credential.rb
243
- - lib/twilio-ruby/rest/ip_messaging/v2/service.rb
244
- - lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb
245
- - lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb
246
- - lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb
247
- - lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb
248
- - lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb
249
- - lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb
250
- - lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb
251
191
  - lib/twilio-ruby/rest/lookups.rb
252
192
  - lib/twilio-ruby/rest/lookups/v1.rb
253
193
  - lib/twilio-ruby/rest/lookups/v1/phone_number.rb
254
- - lib/twilio-ruby/rest/messaging.rb
255
- - lib/twilio-ruby/rest/messaging/v1.rb
256
- - lib/twilio-ruby/rest/messaging/v1/service.rb
257
- - lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb
258
- - lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb
259
- - lib/twilio-ruby/rest/messaging/v1/service/short_code.rb
260
194
  - lib/twilio-ruby/rest/monitor.rb
261
195
  - lib/twilio-ruby/rest/monitor/v1.rb
262
196
  - lib/twilio-ruby/rest/monitor/v1/alert.rb
263
197
  - lib/twilio-ruby/rest/monitor/v1/event.rb
264
- - lib/twilio-ruby/rest/notify.rb
265
- - lib/twilio-ruby/rest/notify/v1.rb
266
- - lib/twilio-ruby/rest/notify/v1/credential.rb
267
- - lib/twilio-ruby/rest/notify/v1/service.rb
268
- - lib/twilio-ruby/rest/notify/v1/service/binding.rb
269
- - lib/twilio-ruby/rest/notify/v1/service/notification.rb
270
- - lib/twilio-ruby/rest/notify/v1/service/segment.rb
271
- - lib/twilio-ruby/rest/notify/v1/service/user.rb
272
- - lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb
273
- - lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb
274
- - lib/twilio-ruby/rest/preview.rb
275
- - lib/twilio-ruby/rest/preview/bulk_exports.rb
276
- - lib/twilio-ruby/rest/preview/bulk_exports/export.rb
277
- - lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb
278
- - lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb
279
- - lib/twilio-ruby/rest/preview/hosted_numbers.rb
280
- - lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb
281
- - lib/twilio-ruby/rest/preview/marketplace.rb
282
- - lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb
283
- - lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb
284
- - lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb
285
- - lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb
286
- - lib/twilio-ruby/rest/preview/proxy.rb
287
- - lib/twilio-ruby/rest/preview/proxy/service.rb
288
- - lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb
289
- - lib/twilio-ruby/rest/preview/proxy/service/session.rb
290
- - lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb
291
- - lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb
292
- - lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb
293
- - lib/twilio-ruby/rest/preview/proxy/service/short_code.rb
294
- - lib/twilio-ruby/rest/preview/sync.rb
295
- - lib/twilio-ruby/rest/preview/sync/service.rb
296
- - lib/twilio-ruby/rest/preview/sync/service/document.rb
297
- - lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb
298
- - lib/twilio-ruby/rest/preview/sync/service/sync_list.rb
299
- - lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb
300
- - lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb
301
- - lib/twilio-ruby/rest/preview/sync/service/sync_map.rb
302
- - lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb
303
- - lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb
304
- - lib/twilio-ruby/rest/preview/wireless.rb
305
- - lib/twilio-ruby/rest/preview/wireless/command.rb
306
- - lib/twilio-ruby/rest/preview/wireless/rate_plan.rb
307
- - lib/twilio-ruby/rest/preview/wireless/sim.rb
308
- - lib/twilio-ruby/rest/preview/wireless/sim/usage.rb
309
198
  - lib/twilio-ruby/rest/pricing.rb
310
199
  - lib/twilio-ruby/rest/pricing/v1.rb
311
200
  - lib/twilio-ruby/rest/pricing/v1/messaging.rb
@@ -315,17 +204,6 @@ files:
315
204
  - lib/twilio-ruby/rest/pricing/v1/voice.rb
316
205
  - lib/twilio-ruby/rest/pricing/v1/voice/country.rb
317
206
  - lib/twilio-ruby/rest/pricing/v1/voice/number.rb
318
- - lib/twilio-ruby/rest/sync.rb
319
- - lib/twilio-ruby/rest/sync/v1.rb
320
- - lib/twilio-ruby/rest/sync/v1/service.rb
321
- - lib/twilio-ruby/rest/sync/v1/service/document.rb
322
- - lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb
323
- - lib/twilio-ruby/rest/sync/v1/service/sync_list.rb
324
- - lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb
325
- - lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb
326
- - lib/twilio-ruby/rest/sync/v1/service/sync_map.rb
327
- - lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb
328
- - lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb
329
207
  - lib/twilio-ruby/rest/taskrouter.rb
330
208
  - lib/twilio-ruby/rest/taskrouter/v1.rb
331
209
  - lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
@@ -333,13 +211,10 @@ files:
333
211
  - lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb
334
212
  - lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb
335
213
  - lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb
336
- - lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb
337
214
  - lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb
338
215
  - lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb
339
216
  - lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb
340
217
  - lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb
341
- - lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb
342
- - lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb
343
218
  - lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb
344
219
  - lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb
345
220
  - lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb
@@ -352,29 +227,18 @@ files:
352
227
  - lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb
353
228
  - lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb
354
229
  - lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb
355
- - lib/twilio-ruby/rest/video.rb
356
- - lib/twilio-ruby/rest/video/v1.rb
357
- - lib/twilio-ruby/rest/video/v1/recording.rb
358
- - lib/twilio-ruby/rest/video/v1/room.rb
359
- - lib/twilio-ruby/rest/video/v1/room/recording.rb
360
- - lib/twilio-ruby/rest/wireless.rb
361
- - lib/twilio-ruby/rest/wireless/v1.rb
362
- - lib/twilio-ruby/rest/wireless/v1/command.rb
363
- - lib/twilio-ruby/rest/wireless/v1/rate_plan.rb
364
- - lib/twilio-ruby/rest/wireless/v1/sim.rb
365
- - lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb
366
- - lib/twilio-ruby/security/request_validator.rb
367
- - lib/twilio-ruby/twiml/messaging_response.rb
368
- - lib/twilio-ruby/twiml/twiml.rb
369
- - lib/twilio-ruby/twiml/voice_response.rb
230
+ - lib/twilio-ruby/task_router.rb
231
+ - lib/twilio-ruby/task_router/capability.rb
232
+ - lib/twilio-ruby/twiml/response.rb
370
233
  - lib/twilio-ruby/util.rb
234
+ - lib/twilio-ruby/util/access_token.rb
235
+ - lib/twilio-ruby/util/capability.rb
236
+ - lib/twilio-ruby/util/client_config.rb
371
237
  - lib/twilio-ruby/util/configuration.rb
238
+ - lib/twilio-ruby/util/request_validator.rb
372
239
  - lib/twilio-ruby/version.rb
373
- - spec/framework/serialize_spec.rb
374
240
  - spec/holodeck/holodeck.rb
375
241
  - spec/holodeck/hologram.rb
376
- - spec/integration/accounts/v1/credential/public_key_spec.rb
377
- - spec/integration/accounts/v1/credential_spec.rb
378
242
  - spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb
379
243
  - spec/integration/api/v2010/account/address_spec.rb
380
244
  - spec/integration/api/v2010/account/application_spec.rb
@@ -391,28 +255,19 @@ files:
391
255
  - spec/integration/api/v2010/account/conference/participant_spec.rb
392
256
  - spec/integration/api/v2010/account/conference_spec.rb
393
257
  - spec/integration/api/v2010/account/connect_app_spec.rb
394
- - spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb
395
- - spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb
396
258
  - spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb
397
259
  - spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb
398
260
  - spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb
399
261
  - spec/integration/api/v2010/account/incoming_phone_number_spec.rb
400
- - spec/integration/api/v2010/account/key_spec.rb
401
- - spec/integration/api/v2010/account/message/feedback_spec.rb
402
262
  - spec/integration/api/v2010/account/message/media_spec.rb
403
263
  - spec/integration/api/v2010/account/message_spec.rb
404
- - spec/integration/api/v2010/account/new_key_spec.rb
405
- - spec/integration/api/v2010/account/new_signing_key_spec.rb
406
264
  - spec/integration/api/v2010/account/notification_spec.rb
407
265
  - spec/integration/api/v2010/account/outgoing_caller_id_spec.rb
408
266
  - spec/integration/api/v2010/account/queue/member_spec.rb
409
267
  - spec/integration/api/v2010/account/queue_spec.rb
410
- - spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb
411
- - spec/integration/api/v2010/account/recording/add_on_result_spec.rb
412
268
  - spec/integration/api/v2010/account/recording/transcription_spec.rb
413
269
  - spec/integration/api/v2010/account/recording_spec.rb
414
- - spec/integration/api/v2010/account/short_code_spec.rb
415
- - spec/integration/api/v2010/account/signing_key_spec.rb
270
+ - spec/integration/api/v2010/account/sandbox_spec.rb
416
271
  - spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb
417
272
  - spec/integration/api/v2010/account/sip/credential_list_spec.rb
418
273
  - spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb
@@ -421,6 +276,9 @@ files:
421
276
  - spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb
422
277
  - spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb
423
278
  - spec/integration/api/v2010/account/sip_spec.rb
279
+ - spec/integration/api/v2010/account/sms/short_code_spec.rb
280
+ - spec/integration/api/v2010/account/sms/sms_message_spec.rb
281
+ - spec/integration/api/v2010/account/sms_spec.rb
424
282
  - spec/integration/api/v2010/account/token_spec.rb
425
283
  - spec/integration/api/v2010/account/transcription_spec.rb
426
284
  - spec/integration/api/v2010/account/usage/record/all_time_spec.rb
@@ -436,87 +294,20 @@ files:
436
294
  - spec/integration/api/v2010/account/usage_spec.rb
437
295
  - spec/integration/api/v2010/account/validation_request_spec.rb
438
296
  - spec/integration/api/v2010/account_spec.rb
439
- - spec/integration/chat/v1/credential_spec.rb
440
- - spec/integration/chat/v1/service/channel/invite_spec.rb
441
- - spec/integration/chat/v1/service/channel/member_spec.rb
442
- - spec/integration/chat/v1/service/channel/message_spec.rb
443
- - spec/integration/chat/v1/service/channel_spec.rb
444
- - spec/integration/chat/v1/service/role_spec.rb
445
- - spec/integration/chat/v1/service/user/user_channel_spec.rb
446
- - spec/integration/chat/v1/service/user_spec.rb
447
- - spec/integration/chat/v1/service_spec.rb
448
- - spec/integration/chat/v2/credential_spec.rb
449
- - spec/integration/chat/v2/service/channel/invite_spec.rb
450
- - spec/integration/chat/v2/service/channel/member_spec.rb
451
- - spec/integration/chat/v2/service/channel/message_spec.rb
452
- - spec/integration/chat/v2/service/channel_spec.rb
453
- - spec/integration/chat/v2/service/role_spec.rb
454
- - spec/integration/chat/v2/service/user/user_channel_spec.rb
455
- - spec/integration/chat/v2/service/user_spec.rb
456
- - spec/integration/chat/v2/service_spec.rb
457
- - spec/integration/fax/v1/fax/fax_media_spec.rb
458
- - spec/integration/fax/v1/fax_spec.rb
297
+ - spec/integration/conversations/v1/conversation/completed_spec.rb
298
+ - spec/integration/conversations/v1/conversation/in_progress_spec.rb
299
+ - spec/integration/conversations/v1/conversation/participant_spec.rb
300
+ - spec/integration/conversations/v1/conversation_spec.rb
459
301
  - spec/integration/ip_messaging/v1/credential_spec.rb
460
- - spec/integration/ip_messaging/v1/service/channel/invite_spec.rb
461
302
  - spec/integration/ip_messaging/v1/service/channel/member_spec.rb
462
303
  - spec/integration/ip_messaging/v1/service/channel/message_spec.rb
463
304
  - spec/integration/ip_messaging/v1/service/channel_spec.rb
464
305
  - spec/integration/ip_messaging/v1/service/role_spec.rb
465
- - spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb
466
306
  - spec/integration/ip_messaging/v1/service/user_spec.rb
467
307
  - spec/integration/ip_messaging/v1/service_spec.rb
468
- - spec/integration/ip_messaging/v2/credential_spec.rb
469
- - spec/integration/ip_messaging/v2/service/channel/invite_spec.rb
470
- - spec/integration/ip_messaging/v2/service/channel/member_spec.rb
471
- - spec/integration/ip_messaging/v2/service/channel/message_spec.rb
472
- - spec/integration/ip_messaging/v2/service/channel_spec.rb
473
- - spec/integration/ip_messaging/v2/service/role_spec.rb
474
- - spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb
475
- - spec/integration/ip_messaging/v2/service/user_spec.rb
476
- - spec/integration/ip_messaging/v2/service_spec.rb
477
308
  - spec/integration/lookups/v1/phone_number_spec.rb
478
- - spec/integration/messaging/v1/service/alpha_sender_spec.rb
479
- - spec/integration/messaging/v1/service/phone_number_spec.rb
480
- - spec/integration/messaging/v1/service/short_code_spec.rb
481
- - spec/integration/messaging/v1/service_spec.rb
482
309
  - spec/integration/monitor/v1/alert_spec.rb
483
310
  - spec/integration/monitor/v1/event_spec.rb
484
- - spec/integration/notify/v1/credential_spec.rb
485
- - spec/integration/notify/v1/service/binding_spec.rb
486
- - spec/integration/notify/v1/service/notification_spec.rb
487
- - spec/integration/notify/v1/service/segment_spec.rb
488
- - spec/integration/notify/v1/service/user/segment_memberships_spec.rb
489
- - spec/integration/notify/v1/service/user/user_binding_spec.rb
490
- - spec/integration/notify/v1/service/user_spec.rb
491
- - spec/integration/notify/v1/service_spec.rb
492
- - spec/integration/preview/bulk_exports/export/day_spec.rb
493
- - spec/integration/preview/bulk_exports/export_configuration_spec.rb
494
- - spec/integration/preview/bulk_exports/export_spec.rb
495
- - spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb
496
- - spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb
497
- - spec/integration/preview/marketplace/available_add_on_spec.rb
498
- - spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb
499
- - spec/integration/preview/marketplace/installed_add_on_spec.rb
500
- - spec/integration/preview/proxy/service/phone_number_spec.rb
501
- - spec/integration/preview/proxy/service/session/interaction_spec.rb
502
- - spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb
503
- - spec/integration/preview/proxy/service/session/participant_spec.rb
504
- - spec/integration/preview/proxy/service/session_spec.rb
505
- - spec/integration/preview/proxy/service/short_code_spec.rb
506
- - spec/integration/preview/proxy/service_spec.rb
507
- - spec/integration/preview/sync/service/document/document_permission_spec.rb
508
- - spec/integration/preview/sync/service/document_spec.rb
509
- - spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb
510
- - spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb
511
- - spec/integration/preview/sync/service/sync_list_spec.rb
512
- - spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb
513
- - spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb
514
- - spec/integration/preview/sync/service/sync_map_spec.rb
515
- - spec/integration/preview/sync/service_spec.rb
516
- - spec/integration/preview/wireless/command_spec.rb
517
- - spec/integration/preview/wireless/rate_plan_spec.rb
518
- - spec/integration/preview/wireless/sim/usage_spec.rb
519
- - spec/integration/preview/wireless/sim_spec.rb
520
311
  - spec/integration/pricing/v1/messaging/country_spec.rb
521
312
  - spec/integration/pricing/v1/messaging_spec.rb
522
313
  - spec/integration/pricing/v1/phone_number/country_spec.rb
@@ -524,25 +315,13 @@ files:
524
315
  - spec/integration/pricing/v1/voice/country_spec.rb
525
316
  - spec/integration/pricing/v1/voice/number_spec.rb
526
317
  - spec/integration/pricing/v1/voice_spec.rb
527
- - spec/integration/sync/v1/service/document/document_permission_spec.rb
528
- - spec/integration/sync/v1/service/document_spec.rb
529
- - spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb
530
- - spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb
531
- - spec/integration/sync/v1/service/sync_list_spec.rb
532
- - spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb
533
- - spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb
534
- - spec/integration/sync/v1/service/sync_map_spec.rb
535
- - spec/integration/sync/v1/service_spec.rb
536
318
  - spec/integration/taskrouter/v1/workspace/activity_spec.rb
537
319
  - spec/integration/taskrouter/v1/workspace/event_spec.rb
538
320
  - spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb
539
- - spec/integration/taskrouter/v1/workspace/task_channel_spec.rb
540
321
  - spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb
541
322
  - spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb
542
323
  - spec/integration/taskrouter/v1/workspace/task_queue_spec.rb
543
324
  - spec/integration/taskrouter/v1/workspace/task_spec.rb
544
- - spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb
545
- - spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb
546
325
  - spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb
547
326
  - spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb
548
327
  - spec/integration/taskrouter/v1/workspace/worker_spec.rb
@@ -555,64 +334,52 @@ files:
555
334
  - spec/integration/trunking/v1/trunk/origination_url_spec.rb
556
335
  - spec/integration/trunking/v1/trunk/phone_number_spec.rb
557
336
  - spec/integration/trunking/v1/trunk_spec.rb
558
- - spec/integration/video/v1/recording_spec.rb
559
- - spec/integration/video/v1/room/recording_spec.rb
560
- - spec/integration/video/v1/room_spec.rb
561
- - spec/integration/wireless/v1/command_spec.rb
562
- - spec/integration/wireless/v1/rate_plan_spec.rb
563
- - spec/integration/wireless/v1/sim/usage_record_spec.rb
564
- - spec/integration/wireless/v1/sim_spec.rb
565
- - spec/jwt/access_token_spec.rb
566
- - spec/jwt/client_capability_spec.rb
567
- - spec/jwt/task_router_spec.rb
568
337
  - spec/rack/twilio_webhook_authentication_spec.rb
569
- - spec/security/request_validator_spec.rb
570
338
  - spec/spec_helper.rb
571
339
  - spec/support/fakeweb.rb
340
+ - spec/task_router_spec.rb
572
341
  - spec/twilio_spec.rb
573
- - spec/twiml/messaging_response_spec.rb
574
- - spec/twiml/voice_response_spec.rb
342
+ - spec/util/access_token_spec.rb
343
+ - spec/util/capability_spec.rb
344
+ - spec/util/client_config_spec.rb
575
345
  - spec/util/configuration_spec.rb
346
+ - spec/util/request_validator_spec.rb
576
347
  - spec/util/url_encode_spec.rb
577
348
  - twilio-ruby.gemspec
578
349
  homepage: http://github.com/twilio/twilio-ruby
579
350
  licenses:
580
351
  - MIT
581
- metadata:
582
- yard.run: yri
352
+ metadata: {}
583
353
  post_install_message:
584
354
  rdoc_options:
585
- - "--line-numbers"
586
- - "--inline-source"
587
- - "--title"
355
+ - --line-numbers
356
+ - --inline-source
357
+ - --title
588
358
  - twilio-ruby
589
- - "--main"
359
+ - --main
590
360
  - README.md
591
361
  require_paths:
592
362
  - lib
593
363
  required_ruby_version: !ruby/object:Gem::Requirement
594
364
  requirements:
595
- - - ">="
365
+ - - '>='
596
366
  - !ruby/object:Gem::Version
597
- version: 2.0.0
367
+ version: 1.9.3
598
368
  required_rubygems_version: !ruby/object:Gem::Requirement
599
369
  requirements:
600
- - - ">"
370
+ - - '>'
601
371
  - !ruby/object:Gem::Version
602
372
  version: 1.3.1
603
373
  requirements: []
604
374
  rubyforge_project:
605
- rubygems_version: 2.6.11
375
+ rubygems_version: 2.0.14
606
376
  signing_key:
607
377
  specification_version: 4
608
378
  summary: A simple library for communicating with the Twilio REST API, building TwiML,
609
- and generating Twilio JWT Capability Tokens
379
+ and generating Twilio Client Capability Tokens
610
380
  test_files:
611
- - spec/framework/serialize_spec.rb
612
381
  - spec/holodeck/holodeck.rb
613
382
  - spec/holodeck/hologram.rb
614
- - spec/integration/accounts/v1/credential/public_key_spec.rb
615
- - spec/integration/accounts/v1/credential_spec.rb
616
383
  - spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb
617
384
  - spec/integration/api/v2010/account/address_spec.rb
618
385
  - spec/integration/api/v2010/account/application_spec.rb
@@ -629,28 +396,19 @@ test_files:
629
396
  - spec/integration/api/v2010/account/conference/participant_spec.rb
630
397
  - spec/integration/api/v2010/account/conference_spec.rb
631
398
  - spec/integration/api/v2010/account/connect_app_spec.rb
632
- - spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb
633
- - spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb
634
399
  - spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb
635
400
  - spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb
636
401
  - spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb
637
402
  - spec/integration/api/v2010/account/incoming_phone_number_spec.rb
638
- - spec/integration/api/v2010/account/key_spec.rb
639
- - spec/integration/api/v2010/account/message/feedback_spec.rb
640
403
  - spec/integration/api/v2010/account/message/media_spec.rb
641
404
  - spec/integration/api/v2010/account/message_spec.rb
642
- - spec/integration/api/v2010/account/new_key_spec.rb
643
- - spec/integration/api/v2010/account/new_signing_key_spec.rb
644
405
  - spec/integration/api/v2010/account/notification_spec.rb
645
406
  - spec/integration/api/v2010/account/outgoing_caller_id_spec.rb
646
407
  - spec/integration/api/v2010/account/queue/member_spec.rb
647
408
  - spec/integration/api/v2010/account/queue_spec.rb
648
- - spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb
649
- - spec/integration/api/v2010/account/recording/add_on_result_spec.rb
650
409
  - spec/integration/api/v2010/account/recording/transcription_spec.rb
651
410
  - spec/integration/api/v2010/account/recording_spec.rb
652
- - spec/integration/api/v2010/account/short_code_spec.rb
653
- - spec/integration/api/v2010/account/signing_key_spec.rb
411
+ - spec/integration/api/v2010/account/sandbox_spec.rb
654
412
  - spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb
655
413
  - spec/integration/api/v2010/account/sip/credential_list_spec.rb
656
414
  - spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb
@@ -659,6 +417,9 @@ test_files:
659
417
  - spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb
660
418
  - spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb
661
419
  - spec/integration/api/v2010/account/sip_spec.rb
420
+ - spec/integration/api/v2010/account/sms/short_code_spec.rb
421
+ - spec/integration/api/v2010/account/sms/sms_message_spec.rb
422
+ - spec/integration/api/v2010/account/sms_spec.rb
662
423
  - spec/integration/api/v2010/account/token_spec.rb
663
424
  - spec/integration/api/v2010/account/transcription_spec.rb
664
425
  - spec/integration/api/v2010/account/usage/record/all_time_spec.rb
@@ -674,87 +435,20 @@ test_files:
674
435
  - spec/integration/api/v2010/account/usage_spec.rb
675
436
  - spec/integration/api/v2010/account/validation_request_spec.rb
676
437
  - spec/integration/api/v2010/account_spec.rb
677
- - spec/integration/chat/v1/credential_spec.rb
678
- - spec/integration/chat/v1/service/channel/invite_spec.rb
679
- - spec/integration/chat/v1/service/channel/member_spec.rb
680
- - spec/integration/chat/v1/service/channel/message_spec.rb
681
- - spec/integration/chat/v1/service/channel_spec.rb
682
- - spec/integration/chat/v1/service/role_spec.rb
683
- - spec/integration/chat/v1/service/user/user_channel_spec.rb
684
- - spec/integration/chat/v1/service/user_spec.rb
685
- - spec/integration/chat/v1/service_spec.rb
686
- - spec/integration/chat/v2/credential_spec.rb
687
- - spec/integration/chat/v2/service/channel/invite_spec.rb
688
- - spec/integration/chat/v2/service/channel/member_spec.rb
689
- - spec/integration/chat/v2/service/channel/message_spec.rb
690
- - spec/integration/chat/v2/service/channel_spec.rb
691
- - spec/integration/chat/v2/service/role_spec.rb
692
- - spec/integration/chat/v2/service/user/user_channel_spec.rb
693
- - spec/integration/chat/v2/service/user_spec.rb
694
- - spec/integration/chat/v2/service_spec.rb
695
- - spec/integration/fax/v1/fax/fax_media_spec.rb
696
- - spec/integration/fax/v1/fax_spec.rb
438
+ - spec/integration/conversations/v1/conversation/completed_spec.rb
439
+ - spec/integration/conversations/v1/conversation/in_progress_spec.rb
440
+ - spec/integration/conversations/v1/conversation/participant_spec.rb
441
+ - spec/integration/conversations/v1/conversation_spec.rb
697
442
  - spec/integration/ip_messaging/v1/credential_spec.rb
698
- - spec/integration/ip_messaging/v1/service/channel/invite_spec.rb
699
443
  - spec/integration/ip_messaging/v1/service/channel/member_spec.rb
700
444
  - spec/integration/ip_messaging/v1/service/channel/message_spec.rb
701
445
  - spec/integration/ip_messaging/v1/service/channel_spec.rb
702
446
  - spec/integration/ip_messaging/v1/service/role_spec.rb
703
- - spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb
704
447
  - spec/integration/ip_messaging/v1/service/user_spec.rb
705
448
  - spec/integration/ip_messaging/v1/service_spec.rb
706
- - spec/integration/ip_messaging/v2/credential_spec.rb
707
- - spec/integration/ip_messaging/v2/service/channel/invite_spec.rb
708
- - spec/integration/ip_messaging/v2/service/channel/member_spec.rb
709
- - spec/integration/ip_messaging/v2/service/channel/message_spec.rb
710
- - spec/integration/ip_messaging/v2/service/channel_spec.rb
711
- - spec/integration/ip_messaging/v2/service/role_spec.rb
712
- - spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb
713
- - spec/integration/ip_messaging/v2/service/user_spec.rb
714
- - spec/integration/ip_messaging/v2/service_spec.rb
715
449
  - spec/integration/lookups/v1/phone_number_spec.rb
716
- - spec/integration/messaging/v1/service/alpha_sender_spec.rb
717
- - spec/integration/messaging/v1/service/phone_number_spec.rb
718
- - spec/integration/messaging/v1/service/short_code_spec.rb
719
- - spec/integration/messaging/v1/service_spec.rb
720
450
  - spec/integration/monitor/v1/alert_spec.rb
721
451
  - spec/integration/monitor/v1/event_spec.rb
722
- - spec/integration/notify/v1/credential_spec.rb
723
- - spec/integration/notify/v1/service/binding_spec.rb
724
- - spec/integration/notify/v1/service/notification_spec.rb
725
- - spec/integration/notify/v1/service/segment_spec.rb
726
- - spec/integration/notify/v1/service/user/segment_memberships_spec.rb
727
- - spec/integration/notify/v1/service/user/user_binding_spec.rb
728
- - spec/integration/notify/v1/service/user_spec.rb
729
- - spec/integration/notify/v1/service_spec.rb
730
- - spec/integration/preview/bulk_exports/export/day_spec.rb
731
- - spec/integration/preview/bulk_exports/export_configuration_spec.rb
732
- - spec/integration/preview/bulk_exports/export_spec.rb
733
- - spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb
734
- - spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb
735
- - spec/integration/preview/marketplace/available_add_on_spec.rb
736
- - spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb
737
- - spec/integration/preview/marketplace/installed_add_on_spec.rb
738
- - spec/integration/preview/proxy/service/phone_number_spec.rb
739
- - spec/integration/preview/proxy/service/session/interaction_spec.rb
740
- - spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb
741
- - spec/integration/preview/proxy/service/session/participant_spec.rb
742
- - spec/integration/preview/proxy/service/session_spec.rb
743
- - spec/integration/preview/proxy/service/short_code_spec.rb
744
- - spec/integration/preview/proxy/service_spec.rb
745
- - spec/integration/preview/sync/service/document/document_permission_spec.rb
746
- - spec/integration/preview/sync/service/document_spec.rb
747
- - spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb
748
- - spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb
749
- - spec/integration/preview/sync/service/sync_list_spec.rb
750
- - spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb
751
- - spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb
752
- - spec/integration/preview/sync/service/sync_map_spec.rb
753
- - spec/integration/preview/sync/service_spec.rb
754
- - spec/integration/preview/wireless/command_spec.rb
755
- - spec/integration/preview/wireless/rate_plan_spec.rb
756
- - spec/integration/preview/wireless/sim/usage_spec.rb
757
- - spec/integration/preview/wireless/sim_spec.rb
758
452
  - spec/integration/pricing/v1/messaging/country_spec.rb
759
453
  - spec/integration/pricing/v1/messaging_spec.rb
760
454
  - spec/integration/pricing/v1/phone_number/country_spec.rb
@@ -762,25 +456,13 @@ test_files:
762
456
  - spec/integration/pricing/v1/voice/country_spec.rb
763
457
  - spec/integration/pricing/v1/voice/number_spec.rb
764
458
  - spec/integration/pricing/v1/voice_spec.rb
765
- - spec/integration/sync/v1/service/document/document_permission_spec.rb
766
- - spec/integration/sync/v1/service/document_spec.rb
767
- - spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb
768
- - spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb
769
- - spec/integration/sync/v1/service/sync_list_spec.rb
770
- - spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb
771
- - spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb
772
- - spec/integration/sync/v1/service/sync_map_spec.rb
773
- - spec/integration/sync/v1/service_spec.rb
774
459
  - spec/integration/taskrouter/v1/workspace/activity_spec.rb
775
460
  - spec/integration/taskrouter/v1/workspace/event_spec.rb
776
461
  - spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb
777
- - spec/integration/taskrouter/v1/workspace/task_channel_spec.rb
778
462
  - spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb
779
463
  - spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb
780
464
  - spec/integration/taskrouter/v1/workspace/task_queue_spec.rb
781
465
  - spec/integration/taskrouter/v1/workspace/task_spec.rb
782
- - spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb
783
- - spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb
784
466
  - spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb
785
467
  - spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb
786
468
  - spec/integration/taskrouter/v1/workspace/worker_spec.rb
@@ -793,22 +475,14 @@ test_files:
793
475
  - spec/integration/trunking/v1/trunk/origination_url_spec.rb
794
476
  - spec/integration/trunking/v1/trunk/phone_number_spec.rb
795
477
  - spec/integration/trunking/v1/trunk_spec.rb
796
- - spec/integration/video/v1/recording_spec.rb
797
- - spec/integration/video/v1/room/recording_spec.rb
798
- - spec/integration/video/v1/room_spec.rb
799
- - spec/integration/wireless/v1/command_spec.rb
800
- - spec/integration/wireless/v1/rate_plan_spec.rb
801
- - spec/integration/wireless/v1/sim/usage_record_spec.rb
802
- - spec/integration/wireless/v1/sim_spec.rb
803
- - spec/jwt/access_token_spec.rb
804
- - spec/jwt/client_capability_spec.rb
805
- - spec/jwt/task_router_spec.rb
806
478
  - spec/rack/twilio_webhook_authentication_spec.rb
807
- - spec/security/request_validator_spec.rb
808
479
  - spec/spec_helper.rb
809
480
  - spec/support/fakeweb.rb
481
+ - spec/task_router_spec.rb
810
482
  - spec/twilio_spec.rb
811
- - spec/twiml/messaging_response_spec.rb
812
- - spec/twiml/voice_response_spec.rb
483
+ - spec/util/access_token_spec.rb
484
+ - spec/util/capability_spec.rb
485
+ - spec/util/client_config_spec.rb
813
486
  - spec/util/configuration_spec.rb
487
+ - spec/util/request_validator_spec.rb
814
488
  - spec/util/url_encode_spec.rb