twilio-ruby 4.13.0 → 5.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (773) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.rubocop.yml +40 -0
  4. data/.rubocop_todo.yml +187 -0
  5. data/.travis.yml +11 -21
  6. data/AUTHORS.md +46 -32
  7. data/CHANGES.md +400 -62
  8. data/CONTRIBUTING.md +159 -0
  9. data/Gemfile +2 -2
  10. data/ISSUE_TEMPLATE.md +26 -0
  11. data/LICENSE.md +12 -12
  12. data/Makefile +18 -4
  13. data/README.md +76 -146
  14. data/Rakefile +54 -0
  15. data/UPGRADE.md +30 -0
  16. data/VERSIONS.md +36 -0
  17. data/examples/examples.rb +46 -57
  18. data/examples/{print-call-log.rb → print_call_log.rb} +6 -6
  19. data/githooks/pre-commit +1 -0
  20. data/lib/rack/twilio_webhook_authentication.rb +5 -6
  21. data/lib/twilio-ruby/framework/domain.rb +34 -0
  22. data/lib/twilio-ruby/framework/error.rb +33 -0
  23. data/lib/twilio-ruby/framework/helper.rb +9 -0
  24. data/lib/twilio-ruby/framework/obsolete_client.rb +10 -0
  25. data/lib/twilio-ruby/framework/page.rb +101 -0
  26. data/lib/twilio-ruby/framework/request.rb +39 -0
  27. data/lib/twilio-ruby/framework/resource.rb +21 -0
  28. data/lib/twilio-ruby/framework/response.rb +16 -0
  29. data/lib/twilio-ruby/framework/serialize.rb +79 -0
  30. data/lib/twilio-ruby/framework/twilio_response.rb +17 -0
  31. data/lib/twilio-ruby/framework/values.rb +7 -0
  32. data/lib/twilio-ruby/framework/version.rb +164 -0
  33. data/lib/twilio-ruby/http/http_client.rb +58 -0
  34. data/lib/twilio-ruby/jwt/access_token.rb +263 -0
  35. data/lib/twilio-ruby/jwt/client_capability.rb +100 -0
  36. data/lib/twilio-ruby/jwt/jwt.rb +51 -0
  37. data/lib/twilio-ruby/jwt/task_router.rb +170 -0
  38. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +338 -0
  39. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +345 -0
  40. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +119 -0
  41. data/lib/twilio-ruby/rest/accounts/v1.rb +33 -0
  42. data/lib/twilio-ruby/rest/accounts.rb +36 -10
  43. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +366 -0
  44. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +490 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +598 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +322 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +396 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +396 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +396 -0
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +396 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +396 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +396 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +396 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +457 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +284 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +304 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +421 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +408 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +756 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +510 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +443 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +397 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +358 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +430 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +457 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +457 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +457 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +844 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +306 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +166 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +353 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +557 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +147 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +147 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +407 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +362 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +332 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +394 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +378 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +390 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +368 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +473 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +409 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +316 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +381 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +388 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +352 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +352 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +548 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +394 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +393 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +153 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +162 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +350 -0
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +302 -0
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +302 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +302 -0
  98. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +302 -0
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +302 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +302 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +302 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +302 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +392 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +482 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +117 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +157 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account.rb +936 -0
  108. data/lib/twilio-ruby/rest/api/v2010.rb +147 -0
  109. data/lib/twilio-ruby/rest/api.rb +234 -0
  110. data/lib/twilio-ruby/rest/chat/v1/credential.rb +382 -0
  111. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +374 -0
  112. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +416 -0
  113. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +428 -0
  114. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +503 -0
  115. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +362 -0
  116. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +240 -0
  117. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +433 -0
  118. data/lib/twilio-ruby/rest/chat/v1/service.rb +891 -0
  119. data/lib/twilio-ruby/rest/chat/v1.rb +56 -0
  120. data/lib/twilio-ruby/rest/chat/v2/credential.rb +382 -0
  121. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +349 -0
  122. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +374 -0
  123. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +442 -0
  124. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +479 -0
  125. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +525 -0
  126. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +362 -0
  127. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +361 -0
  128. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +240 -0
  129. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +463 -0
  130. data/lib/twilio-ruby/rest/chat/v2/service.rb +707 -0
  131. data/lib/twilio-ruby/rest/chat/v2.rb +56 -0
  132. data/lib/twilio-ruby/rest/chat.rb +59 -0
  133. data/lib/twilio-ruby/rest/client.rb +394 -153
  134. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +313 -0
  135. data/lib/twilio-ruby/rest/fax/v1/fax.rb +525 -0
  136. data/lib/twilio-ruby/rest/fax/v1.rb +41 -0
  137. data/lib/twilio-ruby/rest/fax.rb +44 -0
  138. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +382 -0
  139. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +374 -0
  140. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +416 -0
  141. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +428 -0
  142. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +503 -0
  143. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +362 -0
  144. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +240 -0
  145. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +433 -0
  146. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +891 -0
  147. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +56 -0
  148. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +382 -0
  149. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +349 -0
  150. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +374 -0
  151. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +442 -0
  152. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +479 -0
  153. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +525 -0
  154. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +362 -0
  155. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +361 -0
  156. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +240 -0
  157. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +463 -0
  158. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +707 -0
  159. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +56 -0
  160. data/lib/twilio-ruby/rest/ip_messaging.rb +59 -0
  161. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +219 -0
  162. data/lib/twilio-ruby/rest/lookups/v1.rb +41 -0
  163. data/lib/twilio-ruby/rest/lookups.rb +44 -0
  164. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +338 -0
  165. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +345 -0
  166. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +340 -0
  167. data/lib/twilio-ruby/rest/messaging/v1/service.rb +603 -0
  168. data/lib/twilio-ruby/rest/messaging/v1.rb +41 -0
  169. data/lib/twilio-ruby/rest/messaging.rb +44 -0
  170. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +389 -0
  171. data/lib/twilio-ruby/rest/monitor/v1/event.rb +372 -0
  172. data/lib/twilio-ruby/rest/monitor/v1.rb +56 -0
  173. data/lib/twilio-ruby/rest/monitor.rb +52 -0
  174. data/lib/twilio-ruby/rest/notify/v1/credential.rb +390 -0
  175. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +418 -0
  176. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +290 -0
  177. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +223 -0
  178. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +260 -0
  179. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +436 -0
  180. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +424 -0
  181. data/lib/twilio-ruby/rest/notify/v1/service.rb +604 -0
  182. data/lib/twilio-ruby/rest/notify/v1.rb +56 -0
  183. data/lib/twilio-ruby/rest/notify.rb +52 -0
  184. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +183 -0
  185. data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +180 -0
  186. data/lib/twilio-ruby/rest/preview/acc_security/service.rb +386 -0
  187. data/lib/twilio-ruby/rest/preview/acc_security.rb +41 -0
  188. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +209 -0
  189. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +201 -0
  190. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +225 -0
  191. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +56 -0
  192. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +390 -0
  193. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +373 -0
  194. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +433 -0
  195. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +384 -0
  196. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +477 -0
  197. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -0
  198. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +400 -0
  199. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +438 -0
  200. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +634 -0
  201. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +58 -0
  202. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +301 -0
  203. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +320 -0
  204. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +337 -0
  205. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +417 -0
  206. data/lib/twilio-ruby/rest/preview/marketplace.rb +58 -0
  207. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +345 -0
  208. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +435 -0
  209. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +453 -0
  210. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +512 -0
  211. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +495 -0
  212. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +340 -0
  213. data/lib/twilio-ruby/rest/preview/proxy/service.rb +462 -0
  214. data/lib/twilio-ruby/rest/preview/proxy.rb +41 -0
  215. data/lib/twilio-ruby/rest/preview/studio/flow/engagement/step.rb +348 -0
  216. data/lib/twilio-ruby/rest/preview/studio/flow/engagement.rb +370 -0
  217. data/lib/twilio-ruby/rest/preview/studio/flow.rb +353 -0
  218. data/lib/twilio-ruby/rest/preview/studio.rb +41 -0
  219. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +388 -0
  220. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +411 -0
  221. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +419 -0
  222. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +388 -0
  223. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +409 -0
  224. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +416 -0
  225. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +388 -0
  226. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +409 -0
  227. data/lib/twilio-ruby/rest/preview/sync/service.rb +470 -0
  228. data/lib/twilio-ruby/rest/preview/sync.rb +41 -0
  229. data/lib/twilio-ruby/rest/preview/understand/service/field_type/field_value.rb +375 -0
  230. data/lib/twilio-ruby/rest/preview/understand/service/field_type.rb +399 -0
  231. data/lib/twilio-ruby/rest/preview/understand/service/intent/field.rb +371 -0
  232. data/lib/twilio-ruby/rest/preview/understand/service/intent/sample.rb +407 -0
  233. data/lib/twilio-ruby/rest/preview/understand/service/intent.rb +425 -0
  234. data/lib/twilio-ruby/rest/preview/understand/service/model_build.rb +368 -0
  235. data/lib/twilio-ruby/rest/preview/understand/service/query.rb +422 -0
  236. data/lib/twilio-ruby/rest/preview/understand/service.rb +503 -0
  237. data/lib/twilio-ruby/rest/preview/understand.rb +41 -0
  238. data/lib/twilio-ruby/rest/preview/wireless/command.rb +378 -0
  239. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +416 -0
  240. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +228 -0
  241. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +536 -0
  242. data/lib/twilio-ruby/rest/preview/wireless.rb +71 -0
  243. data/lib/twilio-ruby/rest/preview.rb +199 -0
  244. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +277 -0
  245. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +123 -0
  246. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +270 -0
  247. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +123 -0
  248. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +277 -0
  249. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +201 -0
  250. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +139 -0
  251. data/lib/twilio-ruby/rest/pricing/v1.rb +47 -0
  252. data/lib/twilio-ruby/rest/pricing.rb +50 -2
  253. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +356 -0
  254. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +461 -0
  255. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +451 -0
  256. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +503 -0
  257. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +543 -0
  258. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +343 -0
  259. data/lib/twilio-ruby/rest/proxy/v1/service.rb +524 -0
  260. data/lib/twilio-ruby/rest/proxy/v1.rb +41 -0
  261. data/lib/twilio-ruby/rest/proxy.rb +44 -0
  262. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +348 -0
  263. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +370 -0
  264. data/lib/twilio-ruby/rest/studio/v1/flow.rb +346 -0
  265. data/lib/twilio-ruby/rest/studio/v1.rb +41 -0
  266. data/lib/twilio-ruby/rest/studio.rb +44 -0
  267. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +388 -0
  268. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +425 -0
  269. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +429 -0
  270. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +388 -0
  271. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +441 -0
  272. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +426 -0
  273. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +388 -0
  274. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +441 -0
  275. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +142 -0
  276. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +412 -0
  277. data/lib/twilio-ruby/rest/sync/v1/service.rb +503 -0
  278. data/lib/twilio-ruby/rest/sync/v1.rb +41 -0
  279. data/lib/twilio-ruby/rest/sync.rb +44 -0
  280. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +373 -0
  281. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +402 -0
  282. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +582 -0
  283. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +554 -0
  284. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +299 -0
  285. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +341 -0
  286. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +251 -0
  287. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +236 -0
  288. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +253 -0
  289. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +528 -0
  290. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +582 -0
  291. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +386 -0
  292. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +225 -0
  293. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +257 -0
  294. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +192 -0
  295. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +220 -0
  296. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +578 -0
  297. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +348 -0
  298. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +230 -0
  299. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +236 -0
  300. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +481 -0
  301. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +330 -0
  302. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +218 -0
  303. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +210 -0
  304. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +669 -0
  305. data/lib/twilio-ruby/rest/taskrouter/v1.rb +41 -0
  306. data/lib/twilio-ruby/rest/taskrouter.rb +44 -0
  307. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +323 -0
  308. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +323 -0
  309. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +410 -0
  310. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +451 -0
  311. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +528 -0
  312. data/lib/twilio-ruby/rest/trunking/v1.rb +41 -0
  313. data/lib/twilio-ruby/rest/trunking.rb +44 -0
  314. data/lib/twilio-ruby/rest/video/v1/composition.rb +429 -0
  315. data/lib/twilio-ruby/rest/video/v1/recording.rb +380 -0
  316. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +365 -0
  317. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +326 -0
  318. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +311 -0
  319. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +431 -0
  320. data/lib/twilio-ruby/rest/video/v1/room.rb +502 -0
  321. data/lib/twilio-ruby/rest/video/v1.rb +71 -0
  322. data/lib/twilio-ruby/rest/video.rb +60 -0
  323. data/lib/twilio-ruby/rest/wireless/v1/command.rb +358 -0
  324. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +433 -0
  325. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +294 -0
  326. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +234 -0
  327. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +567 -0
  328. data/lib/twilio-ruby/rest/wireless/v1.rb +71 -0
  329. data/lib/twilio-ruby/rest/wireless.rb +60 -0
  330. data/lib/twilio-ruby/{util → security}/request_validator.rb +21 -4
  331. data/lib/twilio-ruby/twiml/fax_response.rb +40 -0
  332. data/lib/twilio-ruby/twiml/messaging_response.rb +105 -0
  333. data/lib/twilio-ruby/twiml/twiml.rb +75 -0
  334. data/lib/twilio-ruby/twiml/voice_response.rb +541 -0
  335. data/lib/twilio-ruby/util/configuration.rb +7 -0
  336. data/lib/twilio-ruby/util.rb +3 -1
  337. data/lib/twilio-ruby/version.rb +1 -1
  338. data/lib/twilio-ruby.rb +30 -102
  339. data/spec/framework/request_spec.rb +36 -0
  340. data/spec/framework/serialize_spec.rb +80 -0
  341. data/spec/holodeck/holodeck.rb +61 -0
  342. data/spec/holodeck/hologram.rb +4 -0
  343. data/spec/http/http_client_spec.rb +122 -0
  344. data/spec/integration/accounts/v1/credential/aws_spec.rb +224 -0
  345. data/spec/integration/accounts/v1/credential/public_key_spec.rb +224 -0
  346. data/spec/integration/accounts/v1/credential_spec.rb +10 -0
  347. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +105 -0
  348. data/spec/integration/api/v2010/account/address_spec.rb +267 -0
  349. data/spec/integration/api/v2010/account/application_spec.rb +284 -0
  350. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +137 -0
  351. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +101 -0
  352. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +101 -0
  353. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +100 -0
  354. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +101 -0
  355. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +101 -0
  356. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +100 -0
  357. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +101 -0
  358. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +128 -0
  359. data/spec/integration/api/v2010/account/call/feedback_spec.rb +137 -0
  360. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +149 -0
  361. data/spec/integration/api/v2010/account/call/notification_spec.rb +179 -0
  362. data/spec/integration/api/v2010/account/call/recording_spec.rb +186 -0
  363. data/spec/integration/api/v2010/account/call_spec.rb +312 -0
  364. data/spec/integration/api/v2010/account/conference/participant_spec.rb +280 -0
  365. data/spec/integration/api/v2010/account/conference_spec.rb +177 -0
  366. data/spec/integration/api/v2010/account/connect_app_spec.rb +177 -0
  367. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +135 -0
  368. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +221 -0
  369. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +183 -0
  370. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +183 -0
  371. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +183 -0
  372. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +339 -0
  373. data/spec/integration/api/v2010/account/key_spec.rb +178 -0
  374. data/spec/integration/api/v2010/account/message/feedback_spec.rb +48 -0
  375. data/spec/integration/api/v2010/account/message/media_spec.rb +162 -0
  376. data/spec/integration/api/v2010/account/message_spec.rb +293 -0
  377. data/spec/integration/api/v2010/account/new_key_spec.rb +45 -0
  378. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +45 -0
  379. data/spec/integration/api/v2010/account/notification_spec.rb +172 -0
  380. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +193 -0
  381. data/spec/integration/api/v2010/account/queue/member_spec.rb +167 -0
  382. data/spec/integration/api/v2010/account/queue_spec.rb +240 -0
  383. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +175 -0
  384. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +166 -0
  385. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +174 -0
  386. data/spec/integration/api/v2010/account/recording_spec.rb +187 -0
  387. data/spec/integration/api/v2010/account/short_code_spec.rb +180 -0
  388. data/spec/integration/api/v2010/account/signing_key_spec.rb +178 -0
  389. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +254 -0
  390. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +242 -0
  391. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +208 -0
  392. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +218 -0
  393. data/spec/integration/api/v2010/account/sip/domain_spec.rb +285 -0
  394. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +258 -0
  395. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +252 -0
  396. data/spec/integration/api/v2010/account/sip_spec.rb +10 -0
  397. data/spec/integration/api/v2010/account/token_spec.rb +56 -0
  398. data/spec/integration/api/v2010/account/transcription_spec.rb +167 -0
  399. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +111 -0
  400. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +111 -0
  401. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +111 -0
  402. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +111 -0
  403. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +111 -0
  404. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +111 -0
  405. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +111 -0
  406. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +111 -0
  407. data/spec/integration/api/v2010/account/usage/record_spec.rb +108 -0
  408. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +283 -0
  409. data/spec/integration/api/v2010/account/usage_spec.rb +10 -0
  410. data/spec/integration/api/v2010/account/validation_request_spec.rb +46 -0
  411. data/spec/integration/api/v2010/account_spec.rb +254 -0
  412. data/spec/integration/chat/v1/credential_spec.rb +221 -0
  413. data/spec/integration/chat/v1/service/channel/invite_spec.rb +208 -0
  414. data/spec/integration/chat/v1/service/channel/member_spec.rb +282 -0
  415. data/spec/integration/chat/v1/service/channel/message_spec.rb +292 -0
  416. data/spec/integration/chat/v1/service/channel_spec.rb +275 -0
  417. data/spec/integration/chat/v1/service/role_spec.rb +261 -0
  418. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +92 -0
  419. data/spec/integration/chat/v1/service/user_spec.rb +264 -0
  420. data/spec/integration/chat/v1/service_spec.rb +297 -0
  421. data/spec/integration/chat/v2/credential_spec.rb +221 -0
  422. data/spec/integration/chat/v2/service/binding_spec.rb +175 -0
  423. data/spec/integration/chat/v2/service/channel/invite_spec.rb +208 -0
  424. data/spec/integration/chat/v2/service/channel/member_spec.rb +255 -0
  425. data/spec/integration/chat/v2/service/channel/message_spec.rb +403 -0
  426. data/spec/integration/chat/v2/service/channel_spec.rb +275 -0
  427. data/spec/integration/chat/v2/service/role_spec.rb +261 -0
  428. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +178 -0
  429. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +92 -0
  430. data/spec/integration/chat/v2/service/user_spec.rb +268 -0
  431. data/spec/integration/chat/v2/service_spec.rb +352 -0
  432. data/spec/integration/fax/v1/fax/fax_media_spec.rb +126 -0
  433. data/spec/integration/fax/v1/fax_spec.rb +269 -0
  434. data/spec/integration/ip_messaging/v1/credential_spec.rb +221 -0
  435. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +208 -0
  436. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +282 -0
  437. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +292 -0
  438. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +275 -0
  439. data/spec/integration/ip_messaging/v1/service/role_spec.rb +261 -0
  440. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +92 -0
  441. data/spec/integration/ip_messaging/v1/service/user_spec.rb +264 -0
  442. data/spec/integration/ip_messaging/v1/service_spec.rb +297 -0
  443. data/spec/integration/ip_messaging/v2/credential_spec.rb +221 -0
  444. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +175 -0
  445. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +208 -0
  446. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +255 -0
  447. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +403 -0
  448. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +275 -0
  449. data/spec/integration/ip_messaging/v2/service/role_spec.rb +261 -0
  450. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +178 -0
  451. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +92 -0
  452. data/spec/integration/ip_messaging/v2/service/user_spec.rb +268 -0
  453. data/spec/integration/ip_messaging/v2/service_spec.rb +352 -0
  454. data/spec/integration/lookups/v1/phone_number_spec.rb +70 -0
  455. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +168 -0
  456. data/spec/integration/messaging/v1/service/phone_number_spec.rb +199 -0
  457. data/spec/integration/messaging/v1/service/short_code_spec.rb +171 -0
  458. data/spec/integration/messaging/v1/service_spec.rb +261 -0
  459. data/spec/integration/monitor/v1/alert_spec.rb +161 -0
  460. data/spec/integration/monitor/v1/event_spec.rb +148 -0
  461. data/spec/integration/notify/v1/credential_spec.rb +221 -0
  462. data/spec/integration/notify/v1/service/binding_spec.rb +223 -0
  463. data/spec/integration/notify/v1/service/notification_spec.rb +97 -0
  464. data/spec/integration/notify/v1/service/segment_spec.rb +84 -0
  465. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +116 -0
  466. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +266 -0
  467. data/spec/integration/notify/v1/service/user_spec.rb +211 -0
  468. data/spec/integration/notify/v1/service_spec.rb +284 -0
  469. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +50 -0
  470. data/spec/integration/preview/acc_security/service/verification_spec.rb +50 -0
  471. data/spec/integration/preview/acc_security/service_spec.rb +183 -0
  472. data/spec/integration/preview/bulk_exports/export/day_spec.rb +56 -0
  473. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +77 -0
  474. data/spec/integration/preview/bulk_exports/export_spec.rb +43 -0
  475. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +236 -0
  476. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +231 -0
  477. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +247 -0
  478. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +235 -0
  479. data/spec/integration/preview/deployed_devices/fleet_spec.rb +244 -0
  480. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +109 -0
  481. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +223 -0
  482. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +391 -0
  483. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +121 -0
  484. data/spec/integration/preview/marketplace/available_add_on_spec.rb +142 -0
  485. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +162 -0
  486. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +252 -0
  487. data/spec/integration/preview/proxy/service/phone_number_spec.rb +171 -0
  488. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +104 -0
  489. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +164 -0
  490. data/spec/integration/preview/proxy/service/session/participant_spec.rb +224 -0
  491. data/spec/integration/preview/proxy/service/session_spec.rb +216 -0
  492. data/spec/integration/preview/proxy/service/short_code_spec.rb +171 -0
  493. data/spec/integration/preview/proxy/service_spec.rb +200 -0
  494. data/spec/integration/preview/studio/flow/engagement/step_spec.rb +96 -0
  495. data/spec/integration/preview/studio/flow/engagement_spec.rb +143 -0
  496. data/spec/integration/preview/studio/flow_spec.rb +115 -0
  497. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +202 -0
  498. data/spec/integration/preview/sync/service/document_spec.rb +252 -0
  499. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +252 -0
  500. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +202 -0
  501. data/spec/integration/preview/sync/service/sync_list_spec.rb +207 -0
  502. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +252 -0
  503. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +202 -0
  504. data/spec/integration/preview/sync/service/sync_map_spec.rb +207 -0
  505. data/spec/integration/preview/sync/service_spec.rb +244 -0
  506. data/spec/integration/preview/understand/service/field_type/field_value_spec.rb +205 -0
  507. data/spec/integration/preview/understand/service/field_type_spec.rb +244 -0
  508. data/spec/integration/preview/understand/service/intent/field_spec.rb +205 -0
  509. data/spec/integration/preview/understand/service/intent/sample_spec.rb +247 -0
  510. data/spec/integration/preview/understand/service/intent_spec.rb +252 -0
  511. data/spec/integration/preview/understand/service/model_build_spec.rb +231 -0
  512. data/spec/integration/preview/understand/service/query_spec.rb +300 -0
  513. data/spec/integration/preview/understand/service_spec.rb +256 -0
  514. data/spec/integration/preview/wireless/command_spec.rb +167 -0
  515. data/spec/integration/preview/wireless/rate_plan_spec.rb +260 -0
  516. data/spec/integration/preview/wireless/sim/usage_spec.rb +49 -0
  517. data/spec/integration/preview/wireless/sim_spec.rb +208 -0
  518. data/spec/integration/pricing/v1/messaging/country_spec.rb +137 -0
  519. data/spec/integration/pricing/v1/messaging_spec.rb +10 -0
  520. data/spec/integration/pricing/v1/phone_number/country_spec.rb +128 -0
  521. data/spec/integration/pricing/v1/phone_number_spec.rb +10 -0
  522. data/spec/integration/pricing/v1/voice/country_spec.rb +266 -0
  523. data/spec/integration/pricing/v1/voice/number_spec.rb +54 -0
  524. data/spec/integration/pricing/v1/voice_spec.rb +10 -0
  525. data/spec/integration/proxy/v1/service/phone_number_spec.rb +182 -0
  526. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +134 -0
  527. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +164 -0
  528. data/spec/integration/proxy/v1/service/session/participant_spec.rb +227 -0
  529. data/spec/integration/proxy/v1/service/session_spec.rb +228 -0
  530. data/spec/integration/proxy/v1/service/short_code_spec.rb +180 -0
  531. data/spec/integration/proxy/v1/service_spec.rb +213 -0
  532. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +96 -0
  533. data/spec/integration/studio/v1/flow/engagement_spec.rb +143 -0
  534. data/spec/integration/studio/v1/flow_spec.rb +114 -0
  535. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +202 -0
  536. data/spec/integration/sync/v1/service/document_spec.rb +255 -0
  537. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +255 -0
  538. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +202 -0
  539. data/spec/integration/sync/v1/service/sync_list_spec.rb +255 -0
  540. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +255 -0
  541. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +202 -0
  542. data/spec/integration/sync/v1/service/sync_map_spec.rb +255 -0
  543. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +45 -0
  544. data/spec/integration/sync/v1/service/sync_stream_spec.rb +247 -0
  545. data/spec/integration/sync/v1/service_spec.rb +252 -0
  546. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +234 -0
  547. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +157 -0
  548. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +192 -0
  549. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +127 -0
  550. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +94 -0
  551. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +79 -0
  552. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +106 -0
  553. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +144 -0
  554. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +296 -0
  555. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +324 -0
  556. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +192 -0
  557. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +186 -0
  558. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +90 -0
  559. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +87 -0
  560. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +68 -0
  561. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +114 -0
  562. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +292 -0
  563. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +95 -0
  564. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +55 -0
  565. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +69 -0
  566. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +270 -0
  567. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +92 -0
  568. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +70 -0
  569. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +103 -0
  570. data/spec/integration/taskrouter/v1/workspace_spec.rb +293 -0
  571. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +190 -0
  572. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +190 -0
  573. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +250 -0
  574. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +265 -0
  575. data/spec/integration/trunking/v1/trunk_spec.rb +276 -0
  576. data/spec/integration/video/v1/composition_spec.rb +223 -0
  577. data/spec/integration/video/v1/recording_spec.rb +171 -0
  578. data/spec/integration/video/v1/room/recording_spec.rb +146 -0
  579. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +94 -0
  580. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +132 -0
  581. data/spec/integration/video/v1/room/room_participant_spec.rb +185 -0
  582. data/spec/integration/video/v1/room_spec.rb +255 -0
  583. data/spec/integration/wireless/v1/command_spec.rb +164 -0
  584. data/spec/integration/wireless/v1/rate_plan_spec.rb +268 -0
  585. data/spec/integration/wireless/v1/sim/data_session_spec.rb +85 -0
  586. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +65 -0
  587. data/spec/integration/wireless/v1/sim_spec.rb +214 -0
  588. data/spec/jwt/access_token_spec.rb +149 -0
  589. data/spec/jwt/client_capability_spec.rb +104 -0
  590. data/spec/jwt/task_router_spec.rb +172 -0
  591. data/spec/rack/twilio_webhook_authentication_spec.rb +19 -23
  592. data/spec/rest/client_spec.rb +29 -257
  593. data/spec/{util → security}/request_validator_spec.rb +5 -5
  594. data/spec/spec_helper.rb +18 -1
  595. data/spec/support/fakeweb.rb +1 -1
  596. data/spec/twiml/messaging_response_spec.rb +95 -0
  597. data/spec/twiml/voice_response_spec.rb +479 -0
  598. data/twilio-ruby.gemspec +14 -11
  599. metadata +904 -248
  600. data/docs/Makefile +0 -130
  601. data/docs/_themes/LICENSE +0 -45
  602. data/docs/_themes/README.rst +0 -25
  603. data/docs/_themes/flask_theme_support.py +0 -86
  604. data/docs/_themes/kr/layout.html +0 -32
  605. data/docs/_themes/kr/relations.html +0 -19
  606. data/docs/_themes/kr/static/flasky.css_t +0 -469
  607. data/docs/_themes/kr/static/small_flask.css +0 -70
  608. data/docs/_themes/kr/theme.conf +0 -7
  609. data/docs/_themes/kr_small/layout.html +0 -22
  610. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  611. data/docs/_themes/kr_small/theme.conf +0 -10
  612. data/docs/changelog.rst +0 -1
  613. data/docs/conf.py +0 -266
  614. data/docs/faq.rst +0 -42
  615. data/docs/getting-started.rst +0 -117
  616. data/docs/index.rst +0 -135
  617. data/docs/make.bat +0 -170
  618. data/docs/src/pip-delete-this-directory.txt +0 -5
  619. data/docs/usage/accounts.rst +0 -89
  620. data/docs/usage/addresses.rst +0 -101
  621. data/docs/usage/applications.rst +0 -108
  622. data/docs/usage/basics.rst +0 -115
  623. data/docs/usage/caller-ids.rst +0 -47
  624. data/docs/usage/conferences.rst +0 -108
  625. data/docs/usage/errors.rst +0 -29
  626. data/docs/usage/lookups.rst +0 -62
  627. data/docs/usage/messages.rst +0 -137
  628. data/docs/usage/notifications.rst +0 -72
  629. data/docs/usage/phone-calls.rst +0 -185
  630. data/docs/usage/phone-numbers.rst +0 -189
  631. data/docs/usage/pricing.rst +0 -169
  632. data/docs/usage/queues.rst +0 -112
  633. data/docs/usage/recordings.rst +0 -98
  634. data/docs/usage/sip.rst +0 -104
  635. data/docs/usage/taskrouter-tokens.rst +0 -98
  636. data/docs/usage/taskrouter.rst +0 -440
  637. data/docs/usage/token-generation.rst +0 -115
  638. data/docs/usage/transcriptions.rst +0 -32
  639. data/docs/usage/twiml.rst +0 -69
  640. data/docs/usage/validation.rst +0 -107
  641. data/examples/taskrouter.examples.rb +0 -86
  642. data/issue_template.md +0 -25
  643. data/lib/twilio-ruby/rest/addresses/dependent_phone_numbers.rb +0 -6
  644. data/lib/twilio-ruby/rest/addresses.rb +0 -12
  645. data/lib/twilio-ruby/rest/applications.rb +0 -6
  646. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  647. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  648. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  649. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  650. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  651. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  652. data/lib/twilio-ruby/rest/base_client.rb +0 -131
  653. data/lib/twilio-ruby/rest/call_feedback.rb +0 -28
  654. data/lib/twilio-ruby/rest/call_feedback_summary.rb +0 -13
  655. data/lib/twilio-ruby/rest/calls.rb +0 -33
  656. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  657. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  658. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  659. data/lib/twilio-ruby/rest/errors.rb +0 -14
  660. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  661. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  662. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  663. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  664. data/lib/twilio-ruby/rest/instance_resource.rb +0 -87
  665. data/lib/twilio-ruby/rest/ip-messaging/channels.rb +0 -15
  666. data/lib/twilio-ruby/rest/ip-messaging/credentials.rb +0 -19
  667. data/lib/twilio-ruby/rest/ip-messaging/members.rb +0 -8
  668. data/lib/twilio-ruby/rest/ip-messaging/messages.rb +0 -8
  669. data/lib/twilio-ruby/rest/ip-messaging/roles.rb +0 -8
  670. data/lib/twilio-ruby/rest/ip-messaging/services.rb +0 -17
  671. data/lib/twilio-ruby/rest/ip-messaging/users.rb +0 -8
  672. data/lib/twilio-ruby/rest/ip_messaging_client.rb +0 -100
  673. data/lib/twilio-ruby/rest/keys.rb +0 -6
  674. data/lib/twilio-ruby/rest/list_resource.rb +0 -100
  675. data/lib/twilio-ruby/rest/lookups/phone_numbers.rb +0 -17
  676. data/lib/twilio-ruby/rest/lookups_client.rb +0 -99
  677. data/lib/twilio-ruby/rest/media.rb +0 -14
  678. data/lib/twilio-ruby/rest/messages.rb +0 -22
  679. data/lib/twilio-ruby/rest/monitor/alerts.rb +0 -8
  680. data/lib/twilio-ruby/rest/monitor/events.rb +0 -8
  681. data/lib/twilio-ruby/rest/monitor_client.rb +0 -101
  682. data/lib/twilio-ruby/rest/next_gen_list_resource.rb +0 -36
  683. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  684. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  685. data/lib/twilio-ruby/rest/pricing/countries.rb +0 -21
  686. data/lib/twilio-ruby/rest/pricing/messaging.rb +0 -15
  687. data/lib/twilio-ruby/rest/pricing/phone_numbers.rb +0 -14
  688. data/lib/twilio-ruby/rest/pricing/voice/numbers.rb +0 -19
  689. data/lib/twilio-ruby/rest/pricing/voice.rb +0 -15
  690. data/lib/twilio-ruby/rest/pricing_client.rb +0 -108
  691. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  692. data/lib/twilio-ruby/rest/queues.rb +0 -12
  693. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  694. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  695. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  696. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  697. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  698. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  699. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  700. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  701. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  702. data/lib/twilio-ruby/rest/sip.rb +0 -10
  703. data/lib/twilio-ruby/rest/sms/messages.rb +0 -38
  704. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  705. data/lib/twilio-ruby/rest/sms.rb +0 -11
  706. data/lib/twilio-ruby/rest/task_router/activities.rb +0 -8
  707. data/lib/twilio-ruby/rest/task_router/events.rb +0 -8
  708. data/lib/twilio-ruby/rest/task_router/reservations.rb +0 -8
  709. data/lib/twilio-ruby/rest/task_router/statistics.rb +0 -26
  710. data/lib/twilio-ruby/rest/task_router/task_queues.rb +0 -17
  711. data/lib/twilio-ruby/rest/task_router/task_queues_statistics.rb +0 -15
  712. data/lib/twilio-ruby/rest/task_router/tasks.rb +0 -15
  713. data/lib/twilio-ruby/rest/task_router/workers.rb +0 -19
  714. data/lib/twilio-ruby/rest/task_router/workers_statistics.rb +0 -8
  715. data/lib/twilio-ruby/rest/task_router/workflow_statistics.rb +0 -7
  716. data/lib/twilio-ruby/rest/task_router/workflows.rb +0 -11
  717. data/lib/twilio-ruby/rest/task_router/workspace_statistics.rb +0 -7
  718. data/lib/twilio-ruby/rest/task_router/workspaces.rb +0 -17
  719. data/lib/twilio-ruby/rest/task_router_client.rb +0 -176
  720. data/lib/twilio-ruby/rest/tokens.rb +0 -7
  721. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  722. data/lib/twilio-ruby/rest/trunking/credential_lists.rb +0 -8
  723. data/lib/twilio-ruby/rest/trunking/ip_access_control_lists.rb +0 -8
  724. data/lib/twilio-ruby/rest/trunking/origination_urls.rb +0 -8
  725. data/lib/twilio-ruby/rest/trunking/phone_numbers.rb +0 -8
  726. data/lib/twilio-ruby/rest/trunking/trunks.rb +0 -19
  727. data/lib/twilio-ruby/rest/trunking_client.rb +0 -106
  728. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  729. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  730. data/lib/twilio-ruby/rest/usage.rb +0 -10
  731. data/lib/twilio-ruby/rest/utils.rb +0 -49
  732. data/lib/twilio-ruby/task_router/capability.rb +0 -230
  733. data/lib/twilio-ruby/task_router/workflow_builder.rb +0 -135
  734. data/lib/twilio-ruby/task_router.rb +0 -0
  735. data/lib/twilio-ruby/twiml/response.rb +0 -16
  736. data/lib/twilio-ruby/util/access_token.rb +0 -158
  737. data/lib/twilio-ruby/util/capability.rb +0 -64
  738. data/lib/twilio-ruby/util/client_config.rb +0 -29
  739. data/spec/rest/account_spec.rb +0 -89
  740. data/spec/rest/address_spec.rb +0 -11
  741. data/spec/rest/call_feedback_spec.rb +0 -12
  742. data/spec/rest/call_feedback_summary_spec.rb +0 -9
  743. data/spec/rest/call_spec.rb +0 -22
  744. data/spec/rest/conference_spec.rb +0 -11
  745. data/spec/rest/instance_resource_spec.rb +0 -15
  746. data/spec/rest/ip-messaging/channel_spec.rb +0 -21
  747. data/spec/rest/ip-messaging/service_spec.rb +0 -30
  748. data/spec/rest/ip_messaging_client_spec.rb +0 -21
  749. data/spec/rest/key_spec.rb +0 -11
  750. data/spec/rest/lookups/phone_number_spec.rb +0 -28
  751. data/spec/rest/message_spec.rb +0 -12
  752. data/spec/rest/monitor_client_spec.rb +0 -17
  753. data/spec/rest/numbers_spec.rb +0 -58
  754. data/spec/rest/pricing_client_spec.rb +0 -60
  755. data/spec/rest/queue_spec.rb +0 -11
  756. data/spec/rest/recording_spec.rb +0 -11
  757. data/spec/rest/sms/message_spec.rb +0 -37
  758. data/spec/rest/sms/messages_spec.rb +0 -31
  759. data/spec/rest/task_router/reservation_spec.rb +0 -14
  760. data/spec/rest/task_router/statistics_spec.rb +0 -37
  761. data/spec/rest/task_router/task_queue_spec.rb +0 -9
  762. data/spec/rest/token_spec.rb +0 -7
  763. data/spec/rest/trunking/trunk_spec.rb +0 -36
  764. data/spec/rest/utils_spec.rb +0 -45
  765. data/spec/task_router/workflow_builder_spec.rb +0 -501
  766. data/spec/task_router_deprecated_spec.rb +0 -139
  767. data/spec/task_router_spec.rb +0 -110
  768. data/spec/task_router_taskqueue_spec.rb +0 -111
  769. data/spec/task_router_worker_spec.rb +0 -146
  770. data/spec/task_router_workspace_spec.rb +0 -110
  771. data/spec/util/access_token_spec.rb +0 -161
  772. data/spec/util/capability_spec.rb +0 -186
  773. data/spec/util/client_config_spec.rb +0 -21
@@ -0,0 +1,409 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ module Twilio
8
+ module REST
9
+ class Api < Domain
10
+ class V2010 < Version
11
+ class AccountContext < InstanceContext
12
+ class ShortCodeList < ListResource
13
+ ##
14
+ # Initialize the ShortCodeList
15
+ # @param [Version] version Version that contains the resource
16
+ # @param [String] account_sid The unique id of the Account that owns this short
17
+ # code.
18
+ # @return [ShortCodeList] ShortCodeList
19
+ def initialize(version, account_sid: nil)
20
+ super(version)
21
+
22
+ # Path Solution
23
+ @solution = {account_sid: account_sid}
24
+ @uri = "/Accounts/#{@solution[:account_sid]}/SMS/ShortCodes.json"
25
+ end
26
+
27
+ ##
28
+ # Lists ShortCodeInstance records from the API as a list.
29
+ # Unlike stream(), this operation is eager and will load `limit` records into
30
+ # memory before returning.
31
+ # @param [String] friendly_name Only show the ShortCode resources with friendly
32
+ # names that exactly match this name
33
+ # @param [String] short_code Only show the ShortCode resources that match this
34
+ # pattern. You can specify partial numbers and use '*' as a wildcard for any digit
35
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
36
+ # guarantees to never return more than limit. Default is no limit
37
+ # @param [Integer] page_size Number of records to fetch per request, when
38
+ # not set will use the default value of 50 records. If no page_size is defined
39
+ # but a limit is defined, stream() will attempt to read the limit with the most
40
+ # efficient page size, i.e. min(limit, 1000)
41
+ # @return [Array] Array of up to limit results
42
+ def list(friendly_name: :unset, short_code: :unset, limit: nil, page_size: nil)
43
+ self.stream(
44
+ friendly_name: friendly_name,
45
+ short_code: short_code,
46
+ limit: limit,
47
+ page_size: page_size
48
+ ).entries
49
+ end
50
+
51
+ ##
52
+ # Streams ShortCodeInstance records from the API as an Enumerable.
53
+ # This operation lazily loads records as efficiently as possible until the limit
54
+ # is reached.
55
+ # @param [String] friendly_name Only show the ShortCode resources with friendly
56
+ # names that exactly match this name
57
+ # @param [String] short_code Only show the ShortCode resources that match this
58
+ # pattern. You can specify partial numbers and use '*' as a wildcard for any digit
59
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
60
+ # guarantees to never return more than limit. Default is no limit.
61
+ # @param [Integer] page_size Number of records to fetch per request, when
62
+ # not set will use the default value of 50 records. If no page_size is defined
63
+ # but a limit is defined, stream() will attempt to read the limit with the most
64
+ # efficient page size, i.e. min(limit, 1000)
65
+ # @return [Enumerable] Enumerable that will yield up to limit results
66
+ def stream(friendly_name: :unset, short_code: :unset, limit: nil, page_size: nil)
67
+ limits = @version.read_limits(limit, page_size)
68
+
69
+ page = self.page(
70
+ friendly_name: friendly_name,
71
+ short_code: short_code,
72
+ page_size: limits[:page_size],
73
+ )
74
+
75
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
76
+ end
77
+
78
+ ##
79
+ # When passed a block, yields ShortCodeInstance records from the API.
80
+ # This operation lazily loads records as efficiently as possible until the limit
81
+ # is reached.
82
+ def each
83
+ limits = @version.read_limits
84
+
85
+ page = self.page(page_size: limits[:page_size], )
86
+
87
+ @version.stream(page,
88
+ limit: limits[:limit],
89
+ page_limit: limits[:page_limit]).each {|x| yield x}
90
+ end
91
+
92
+ ##
93
+ # Retrieve a single page of ShortCodeInstance records from the API.
94
+ # Request is executed immediately.
95
+ # @param [String] friendly_name Only show the ShortCode resources with friendly
96
+ # names that exactly match this name
97
+ # @param [String] short_code Only show the ShortCode resources that match this
98
+ # pattern. You can specify partial numbers and use '*' as a wildcard for any digit
99
+ # @param [String] page_token PageToken provided by the API
100
+ # @param [Integer] page_number Page Number, this value is simply for client state
101
+ # @param [Integer] page_size Number of records to return, defaults to 50
102
+ # @return [Page] Page of ShortCodeInstance
103
+ def page(friendly_name: :unset, short_code: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
104
+ params = Twilio::Values.of({
105
+ 'FriendlyName' => friendly_name,
106
+ 'ShortCode' => short_code,
107
+ 'PageToken' => page_token,
108
+ 'Page' => page_number,
109
+ 'PageSize' => page_size,
110
+ })
111
+ response = @version.page(
112
+ 'GET',
113
+ @uri,
114
+ params
115
+ )
116
+ ShortCodePage.new(@version, response, @solution)
117
+ end
118
+
119
+ ##
120
+ # Retrieve a single page of ShortCodeInstance records from the API.
121
+ # Request is executed immediately.
122
+ # @param [String] target_url API-generated URL for the requested results page
123
+ # @return [Page] Page of ShortCodeInstance
124
+ def get_page(target_url)
125
+ response = @version.domain.request(
126
+ 'GET',
127
+ target_url
128
+ )
129
+ ShortCodePage.new(@version, response, @solution)
130
+ end
131
+
132
+ ##
133
+ # Provide a user friendly representation
134
+ def to_s
135
+ '#<Twilio.Api.V2010.ShortCodeList>'
136
+ end
137
+ end
138
+
139
+ class ShortCodePage < Page
140
+ ##
141
+ # Initialize the ShortCodePage
142
+ # @param [Version] version Version that contains the resource
143
+ # @param [Response] response Response from the API
144
+ # @param [Hash] solution Path solution for the resource
145
+ # @return [ShortCodePage] ShortCodePage
146
+ def initialize(version, response, solution)
147
+ super(version, response)
148
+
149
+ # Path Solution
150
+ @solution = solution
151
+ end
152
+
153
+ ##
154
+ # Build an instance of ShortCodeInstance
155
+ # @param [Hash] payload Payload response from the API
156
+ # @return [ShortCodeInstance] ShortCodeInstance
157
+ def get_instance(payload)
158
+ ShortCodeInstance.new(@version, payload, account_sid: @solution[:account_sid], )
159
+ end
160
+
161
+ ##
162
+ # Provide a user friendly representation
163
+ def to_s
164
+ '<Twilio.Api.V2010.ShortCodePage>'
165
+ end
166
+ end
167
+
168
+ class ShortCodeContext < InstanceContext
169
+ ##
170
+ # Initialize the ShortCodeContext
171
+ # @param [Version] version Version that contains the resource
172
+ # @param [String] account_sid The account_sid
173
+ # @param [String] sid The short-code Sid that uniquely identifies this resource
174
+ # @return [ShortCodeContext] ShortCodeContext
175
+ def initialize(version, account_sid, sid)
176
+ super(version)
177
+
178
+ # Path Solution
179
+ @solution = {account_sid: account_sid, sid: sid, }
180
+ @uri = "/Accounts/#{@solution[:account_sid]}/SMS/ShortCodes/#{@solution[:sid]}.json"
181
+ end
182
+
183
+ ##
184
+ # Fetch a ShortCodeInstance
185
+ # @return [ShortCodeInstance] Fetched ShortCodeInstance
186
+ def fetch
187
+ params = Twilio::Values.of({})
188
+
189
+ payload = @version.fetch(
190
+ 'GET',
191
+ @uri,
192
+ params,
193
+ )
194
+
195
+ ShortCodeInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
196
+ end
197
+
198
+ ##
199
+ # Update the ShortCodeInstance
200
+ # @param [String] friendly_name A human readable descriptive text for this
201
+ # resource, up to 64 characters long. By default, the `FriendlyName` is just the
202
+ # short code.
203
+ # @param [String] api_version SMSs to this short code will start a new TwiML
204
+ # session with this API version.
205
+ # @param [String] sms_url The URL Twilio will request when receiving an incoming
206
+ # SMS message to this short code.
207
+ # @param [String] sms_method The HTTP method Twilio will use when making requests
208
+ # to the `SmsUrl`. Either `GET` or `POST`.
209
+ # @param [String] sms_fallback_url The URL that Twilio will request if an error
210
+ # occurs retrieving or executing the TwiML from `SmsUrl`.
211
+ # @param [String] sms_fallback_method The HTTP method Twilio will use when
212
+ # requesting the above URL. Either `GET` or `POST`.
213
+ # @return [ShortCodeInstance] Updated ShortCodeInstance
214
+ def update(friendly_name: :unset, api_version: :unset, sms_url: :unset, sms_method: :unset, sms_fallback_url: :unset, sms_fallback_method: :unset)
215
+ data = Twilio::Values.of({
216
+ 'FriendlyName' => friendly_name,
217
+ 'ApiVersion' => api_version,
218
+ 'SmsUrl' => sms_url,
219
+ 'SmsMethod' => sms_method,
220
+ 'SmsFallbackUrl' => sms_fallback_url,
221
+ 'SmsFallbackMethod' => sms_fallback_method,
222
+ })
223
+
224
+ payload = @version.update(
225
+ 'POST',
226
+ @uri,
227
+ data: data,
228
+ )
229
+
230
+ ShortCodeInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
231
+ end
232
+
233
+ ##
234
+ # Provide a user friendly representation
235
+ def to_s
236
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
237
+ "#<Twilio.Api.V2010.ShortCodeContext #{context}>"
238
+ end
239
+ end
240
+
241
+ class ShortCodeInstance < InstanceResource
242
+ ##
243
+ # Initialize the ShortCodeInstance
244
+ # @param [Version] version Version that contains the resource
245
+ # @param [Hash] payload payload that contains response from Twilio
246
+ # @param [String] account_sid The unique id of the Account that owns this short
247
+ # code.
248
+ # @param [String] sid The short-code Sid that uniquely identifies this resource
249
+ # @return [ShortCodeInstance] ShortCodeInstance
250
+ def initialize(version, payload, account_sid: nil, sid: nil)
251
+ super(version)
252
+
253
+ # Marshaled Properties
254
+ @properties = {
255
+ 'account_sid' => payload['account_sid'],
256
+ 'api_version' => payload['api_version'],
257
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
258
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
259
+ 'friendly_name' => payload['friendly_name'],
260
+ 'short_code' => payload['short_code'],
261
+ 'sid' => payload['sid'],
262
+ 'sms_fallback_method' => payload['sms_fallback_method'],
263
+ 'sms_fallback_url' => payload['sms_fallback_url'],
264
+ 'sms_method' => payload['sms_method'],
265
+ 'sms_url' => payload['sms_url'],
266
+ 'uri' => payload['uri'],
267
+ }
268
+
269
+ # Context
270
+ @instance_context = nil
271
+ @params = {'account_sid' => account_sid, 'sid' => sid || @properties['sid'], }
272
+ end
273
+
274
+ ##
275
+ # Generate an instance context for the instance, the context is capable of
276
+ # performing various actions. All instance actions are proxied to the context
277
+ # @return [ShortCodeContext] ShortCodeContext for this ShortCodeInstance
278
+ def context
279
+ unless @instance_context
280
+ @instance_context = ShortCodeContext.new(@version, @params['account_sid'], @params['sid'], )
281
+ end
282
+ @instance_context
283
+ end
284
+
285
+ ##
286
+ # @return [String] The unique sid that identifies this account
287
+ def account_sid
288
+ @properties['account_sid']
289
+ end
290
+
291
+ ##
292
+ # @return [String] The API version to use
293
+ def api_version
294
+ @properties['api_version']
295
+ end
296
+
297
+ ##
298
+ # @return [Time] The date this resource was created
299
+ def date_created
300
+ @properties['date_created']
301
+ end
302
+
303
+ ##
304
+ # @return [Time] The date this resource was last updated
305
+ def date_updated
306
+ @properties['date_updated']
307
+ end
308
+
309
+ ##
310
+ # @return [String] A human readable description of this resource
311
+ def friendly_name
312
+ @properties['friendly_name']
313
+ end
314
+
315
+ ##
316
+ # @return [String] The short code. e.g., 894546.
317
+ def short_code
318
+ @properties['short_code']
319
+ end
320
+
321
+ ##
322
+ # @return [String] A string that uniquely identifies this short-codes
323
+ def sid
324
+ @properties['sid']
325
+ end
326
+
327
+ ##
328
+ # @return [String] HTTP method Twilio will use with sms fallback url
329
+ def sms_fallback_method
330
+ @properties['sms_fallback_method']
331
+ end
332
+
333
+ ##
334
+ # @return [String] URL Twilio will request if an error occurs in executing TwiML
335
+ def sms_fallback_url
336
+ @properties['sms_fallback_url']
337
+ end
338
+
339
+ ##
340
+ # @return [String] HTTP method to use when requesting the sms url
341
+ def sms_method
342
+ @properties['sms_method']
343
+ end
344
+
345
+ ##
346
+ # @return [String] URL Twilio will request when receiving an SMS
347
+ def sms_url
348
+ @properties['sms_url']
349
+ end
350
+
351
+ ##
352
+ # @return [String] The URI for this resource
353
+ def uri
354
+ @properties['uri']
355
+ end
356
+
357
+ ##
358
+ # Fetch a ShortCodeInstance
359
+ # @return [ShortCodeInstance] Fetched ShortCodeInstance
360
+ def fetch
361
+ context.fetch
362
+ end
363
+
364
+ ##
365
+ # Update the ShortCodeInstance
366
+ # @param [String] friendly_name A human readable descriptive text for this
367
+ # resource, up to 64 characters long. By default, the `FriendlyName` is just the
368
+ # short code.
369
+ # @param [String] api_version SMSs to this short code will start a new TwiML
370
+ # session with this API version.
371
+ # @param [String] sms_url The URL Twilio will request when receiving an incoming
372
+ # SMS message to this short code.
373
+ # @param [String] sms_method The HTTP method Twilio will use when making requests
374
+ # to the `SmsUrl`. Either `GET` or `POST`.
375
+ # @param [String] sms_fallback_url The URL that Twilio will request if an error
376
+ # occurs retrieving or executing the TwiML from `SmsUrl`.
377
+ # @param [String] sms_fallback_method The HTTP method Twilio will use when
378
+ # requesting the above URL. Either `GET` or `POST`.
379
+ # @return [ShortCodeInstance] Updated ShortCodeInstance
380
+ def update(friendly_name: :unset, api_version: :unset, sms_url: :unset, sms_method: :unset, sms_fallback_url: :unset, sms_fallback_method: :unset)
381
+ context.update(
382
+ friendly_name: friendly_name,
383
+ api_version: api_version,
384
+ sms_url: sms_url,
385
+ sms_method: sms_method,
386
+ sms_fallback_url: sms_fallback_url,
387
+ sms_fallback_method: sms_fallback_method,
388
+ )
389
+ end
390
+
391
+ ##
392
+ # Provide a user friendly representation
393
+ def to_s
394
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
395
+ "<Twilio.Api.V2010.ShortCodeInstance #{values}>"
396
+ end
397
+
398
+ ##
399
+ # Provide a detailed, user friendly representation
400
+ def inspect
401
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
402
+ "<Twilio.Api.V2010.ShortCodeInstance #{values}>"
403
+ end
404
+ end
405
+ end
406
+ end
407
+ end
408
+ end
409
+ end