twilio-ruby 4.13.0 → 5.0.0.alpha1
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +21 -0
- data/.rubocop_todo.yml +187 -0
- data/.travis.yml +13 -0
- data/AUTHORS.md +46 -32
- data/CHANGES.md +87 -65
- data/Gemfile +2 -2
- data/LICENSE.md +12 -12
- data/Makefile +13 -3
- data/README.md +50 -139
- data/Rakefile +54 -0
- data/VERSIONS.md +64 -0
- data/examples/examples.rb +46 -57
- data/examples/{print-call-log.rb → print_call_log.rb} +7 -7
- data/lib/rack/twilio_webhook_authentication.rb +5 -6
- data/lib/twilio-ruby.rb +30 -102
- data/lib/twilio-ruby/framework/domain.rb +34 -0
- data/lib/twilio-ruby/framework/error.rb +30 -0
- data/lib/twilio-ruby/framework/helper.rb +9 -0
- data/lib/twilio-ruby/framework/page.rb +101 -0
- data/lib/twilio-ruby/framework/resource.rb +21 -0
- data/lib/twilio-ruby/framework/serialize.rb +70 -0
- data/lib/twilio-ruby/framework/twilio_response.rb +15 -0
- data/lib/twilio-ruby/framework/values.rb +7 -0
- data/lib/twilio-ruby/framework/version.rb +164 -0
- data/lib/twilio-ruby/http/http_client.rb +46 -0
- data/lib/twilio-ruby/jwt/access_token.rb +232 -0
- data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
- data/lib/twilio-ruby/jwt/jwt.rb +50 -0
- data/lib/twilio-ruby/jwt/task_router.rb +174 -0
- data/lib/twilio-ruby/rest/accounts.rb +36 -10
- data/lib/twilio-ruby/rest/accounts/v1.rb +39 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential.rb +105 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +370 -0
- data/lib/twilio-ruby/rest/api.rb +234 -0
- data/lib/twilio-ruby/rest/api/v2010.rb +147 -0
- data/lib/twilio-ruby/rest/api/v2010/account.rb +1098 -0
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +509 -0
- data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +265 -0
- data/lib/twilio-ruby/rest/api/v2010/account/application.rb +620 -0
- data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +331 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +370 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +389 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +389 -0
- data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +389 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call.rb +799 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +296 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +427 -0
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +379 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +455 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +515 -0
- data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +413 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +823 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +431 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +350 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +445 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +445 -0
- data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +445 -0
- data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +583 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +165 -0
- data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +355 -0
- data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +153 -0
- data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +153 -0
- data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +418 -0
- data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +377 -0
- data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +438 -0
- data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +345 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +479 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +397 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +378 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +375 -0
- data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +430 -0
- data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +174 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +419 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +395 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +570 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +361 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +361 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +424 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +406 -0
- data/lib/twilio-ruby/rest/api/v2010/account/token.rb +168 -0
- data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +366 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +127 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +418 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +304 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +507 -0
- data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +161 -0
- data/lib/twilio-ruby/rest/chat.rb +59 -0
- data/lib/twilio-ruby/rest/chat/v1.rb +56 -0
- data/lib/twilio-ruby/rest/chat/v1/credential.rb +403 -0
- data/lib/twilio-ruby/rest/chat/v1/service.rb +935 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +554 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +386 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +431 -0
- data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +447 -0
- data/lib/twilio-ruby/rest/chat/v1/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/chat/v1/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/chat/v2.rb +56 -0
- data/lib/twilio-ruby/rest/chat/v2/credential.rb +403 -0
- data/lib/twilio-ruby/rest/chat/v2/service.rb +688 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +554 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +386 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +431 -0
- data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +447 -0
- data/lib/twilio-ruby/rest/chat/v2/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/chat/v2/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/client.rb +352 -153
- data/lib/twilio-ruby/rest/fax.rb +44 -0
- data/lib/twilio-ruby/rest/fax/v1.rb +41 -0
- data/lib/twilio-ruby/rest/fax/v1/fax.rb +541 -0
- data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +326 -0
- data/lib/twilio-ruby/rest/ip_messaging.rb +59 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +56 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +403 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +935 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +554 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +386 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +431 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +447 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +56 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +403 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +688 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +554 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +386 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +431 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +447 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/lookups.rb +44 -0
- data/lib/twilio-ruby/rest/lookups/v1.rb +41 -0
- data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +224 -0
- data/lib/twilio-ruby/rest/messaging.rb +44 -0
- data/lib/twilio-ruby/rest/messaging/v1.rb +41 -0
- data/lib/twilio-ruby/rest/messaging/v1/service.rb +637 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -0
- data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -0
- data/lib/twilio-ruby/rest/monitor.rb +52 -0
- data/lib/twilio-ruby/rest/monitor/v1.rb +56 -0
- data/lib/twilio-ruby/rest/monitor/v1/alert.rb +398 -0
- data/lib/twilio-ruby/rest/monitor/v1/event.rb +381 -0
- data/lib/twilio-ruby/rest/notify.rb +52 -0
- data/lib/twilio-ruby/rest/notify/v1.rb +56 -0
- data/lib/twilio-ruby/rest/notify/v1/credential.rb +403 -0
- data/lib/twilio-ruby/rest/notify/v1/service.rb +639 -0
- data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +430 -0
- data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +288 -0
- data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +224 -0
- data/lib/twilio-ruby/rest/notify/v1/service/user.rb +445 -0
- data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +254 -0
- data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +434 -0
- data/lib/twilio-ruby/rest/preview.rb +145 -0
- data/lib/twilio-ruby/rest/preview/bulk_exports.rb +56 -0
- data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +203 -0
- data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +210 -0
- data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +243 -0
- data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +42 -0
- data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +557 -0
- data/lib/twilio-ruby/rest/preview/marketplace.rb +58 -0
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +333 -0
- data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +301 -0
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +440 -0
- data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +341 -0
- data/lib/twilio-ruby/rest/preview/proxy.rb +41 -0
- data/lib/twilio-ruby/rest/preview/proxy/service.rb +500 -0
- data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +359 -0
- data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +536 -0
- data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +429 -0
- data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +506 -0
- data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +452 -0
- data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +359 -0
- data/lib/twilio-ruby/rest/preview/sync.rb +41 -0
- data/lib/twilio-ruby/rest/preview/sync/service.rb +504 -0
- data/lib/twilio-ruby/rest/preview/sync/service/document.rb +445 -0
- data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +395 -0
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +438 -0
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +430 -0
- data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +395 -0
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +438 -0
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +432 -0
- data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +395 -0
- data/lib/twilio-ruby/rest/preview/wireless.rb +71 -0
- data/lib/twilio-ruby/rest/preview/wireless/command.rb +382 -0
- data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +435 -0
- data/lib/twilio-ruby/rest/preview/wireless/sim.rb +544 -0
- data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +236 -0
- data/lib/twilio-ruby/rest/pricing.rb +50 -2
- data/lib/twilio-ruby/rest/pricing/v1.rb +65 -0
- data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +129 -0
- data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +291 -0
- data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +129 -0
- data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +284 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice.rb +150 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +291 -0
- data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +208 -0
- data/lib/twilio-ruby/rest/sync.rb +44 -0
- data/lib/twilio-ruby/rest/sync/v1.rb +41 -0
- data/lib/twilio-ruby/rest/sync/v1/service.rb +504 -0
- data/lib/twilio-ruby/rest/sync/v1/service/document.rb +445 -0
- data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +395 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +438 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +430 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +395 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +438 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +432 -0
- data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +395 -0
- data/lib/twilio-ruby/rest/taskrouter.rb +44 -0
- data/lib/twilio-ruby/rest/taskrouter/v1.rb +41 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +712 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +399 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +418 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +584 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +461 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +315 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +527 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +243 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +585 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +461 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +406 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +223 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +226 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +475 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +212 -0
- data/lib/twilio-ruby/rest/trunking.rb +44 -0
- data/lib/twilio-ruby/rest/trunking/v1.rb +41 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +577 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +345 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +345 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +430 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +478 -0
- data/lib/twilio-ruby/rest/video.rb +52 -0
- data/lib/twilio-ruby/rest/video/v1.rb +56 -0
- data/lib/twilio-ruby/rest/video/v1/recording.rb +382 -0
- data/lib/twilio-ruby/rest/video/v1/room.rb +485 -0
- data/lib/twilio-ruby/rest/video/v1/room/recording.rb +381 -0
- data/lib/twilio-ruby/rest/wireless.rb +60 -0
- data/lib/twilio-ruby/rest/wireless/v1.rb +71 -0
- data/lib/twilio-ruby/rest/wireless/v1/command.rb +367 -0
- data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +452 -0
- data/lib/twilio-ruby/rest/wireless/v1/sim.rb +548 -0
- data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +235 -0
- data/lib/twilio-ruby/{util → security}/request_validator.rb +21 -4
- data/lib/twilio-ruby/twiml/messaging_response.rb +141 -0
- data/lib/twilio-ruby/twiml/twiml.rb +69 -0
- data/lib/twilio-ruby/twiml/voice_response.rb +916 -0
- data/lib/twilio-ruby/util.rb +1 -1
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/framework/serialize_spec.rb +59 -0
- data/spec/holodeck/holodeck.rb +61 -0
- data/spec/holodeck/hologram.rb +4 -0
- data/spec/integration/accounts/v1/credential/public_key_spec.rb +226 -0
- data/spec/integration/accounts/v1/credential_spec.rb +10 -0
- data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +90 -0
- data/spec/integration/api/v2010/account/address_spec.rb +267 -0
- data/spec/integration/api/v2010/account/application_spec.rb +286 -0
- data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +137 -0
- data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +101 -0
- data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +100 -0
- data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +100 -0
- data/spec/integration/api/v2010/account/available_phone_number_spec.rb +128 -0
- data/spec/integration/api/v2010/account/call/feedback_spec.rb +141 -0
- data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +149 -0
- data/spec/integration/api/v2010/account/call/notification_spec.rb +179 -0
- data/spec/integration/api/v2010/account/call/recording_spec.rb +178 -0
- data/spec/integration/api/v2010/account/call_spec.rb +319 -0
- data/spec/integration/api/v2010/account/conference/participant_spec.rb +283 -0
- data/spec/integration/api/v2010/account/conference_spec.rb +174 -0
- data/spec/integration/api/v2010/account/connect_app_spec.rb +177 -0
- data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +135 -0
- data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +223 -0
- data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +181 -0
- data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +181 -0
- data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +181 -0
- data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +331 -0
- data/spec/integration/api/v2010/account/key_spec.rb +178 -0
- data/spec/integration/api/v2010/account/message/feedback_spec.rb +48 -0
- data/spec/integration/api/v2010/account/message/media_spec.rb +162 -0
- data/spec/integration/api/v2010/account/message_spec.rb +297 -0
- data/spec/integration/api/v2010/account/new_key_spec.rb +45 -0
- data/spec/integration/api/v2010/account/new_signing_key_spec.rb +45 -0
- data/spec/integration/api/v2010/account/notification_spec.rb +172 -0
- data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +193 -0
- data/spec/integration/api/v2010/account/queue/member_spec.rb +170 -0
- data/spec/integration/api/v2010/account/queue_spec.rb +242 -0
- data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +175 -0
- data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +166 -0
- data/spec/integration/api/v2010/account/recording/transcription_spec.rb +174 -0
- data/spec/integration/api/v2010/account/recording_spec.rb +179 -0
- data/spec/integration/api/v2010/account/short_code_spec.rb +180 -0
- data/spec/integration/api/v2010/account/signing_key_spec.rb +178 -0
- data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +257 -0
- data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +246 -0
- data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +210 -0
- data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +220 -0
- data/spec/integration/api/v2010/account/sip/domain_spec.rb +283 -0
- data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +261 -0
- data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +256 -0
- data/spec/integration/api/v2010/account/sip_spec.rb +10 -0
- data/spec/integration/api/v2010/account/token_spec.rb +56 -0
- data/spec/integration/api/v2010/account/transcription_spec.rb +167 -0
- data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/today_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +111 -0
- data/spec/integration/api/v2010/account/usage/record_spec.rb +108 -0
- data/spec/integration/api/v2010/account/usage/trigger_spec.rb +283 -0
- data/spec/integration/api/v2010/account/usage_spec.rb +10 -0
- data/spec/integration/api/v2010/account/validation_request_spec.rb +48 -0
- data/spec/integration/api/v2010/account_spec.rb +254 -0
- data/spec/integration/chat/v1/credential_spec.rb +223 -0
- data/spec/integration/chat/v1/service/channel/invite_spec.rb +210 -0
- data/spec/integration/chat/v1/service/channel/member_spec.rb +284 -0
- data/spec/integration/chat/v1/service/channel/message_spec.rb +294 -0
- data/spec/integration/chat/v1/service/channel_spec.rb +275 -0
- data/spec/integration/chat/v1/service/role_spec.rb +263 -0
- data/spec/integration/chat/v1/service/user/user_channel_spec.rb +92 -0
- data/spec/integration/chat/v1/service/user_spec.rb +266 -0
- data/spec/integration/chat/v1/service_spec.rb +299 -0
- data/spec/integration/chat/v2/credential_spec.rb +223 -0
- data/spec/integration/chat/v2/service/channel/invite_spec.rb +210 -0
- data/spec/integration/chat/v2/service/channel/member_spec.rb +284 -0
- data/spec/integration/chat/v2/service/channel/message_spec.rb +294 -0
- data/spec/integration/chat/v2/service/channel_spec.rb +275 -0
- data/spec/integration/chat/v2/service/role_spec.rb +263 -0
- data/spec/integration/chat/v2/service/user/user_channel_spec.rb +92 -0
- data/spec/integration/chat/v2/service/user_spec.rb +266 -0
- data/spec/integration/chat/v2/service_spec.rb +325 -0
- data/spec/integration/fax/v1/fax/fax_media_spec.rb +126 -0
- data/spec/integration/fax/v1/fax_spec.rb +272 -0
- data/spec/integration/ip_messaging/v1/credential_spec.rb +223 -0
- data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +210 -0
- data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +284 -0
- data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +294 -0
- data/spec/integration/ip_messaging/v1/service/channel_spec.rb +275 -0
- data/spec/integration/ip_messaging/v1/service/role_spec.rb +263 -0
- data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +92 -0
- data/spec/integration/ip_messaging/v1/service/user_spec.rb +266 -0
- data/spec/integration/ip_messaging/v1/service_spec.rb +299 -0
- data/spec/integration/ip_messaging/v2/credential_spec.rb +223 -0
- data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +210 -0
- data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +284 -0
- data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +294 -0
- data/spec/integration/ip_messaging/v2/service/channel_spec.rb +275 -0
- data/spec/integration/ip_messaging/v2/service/role_spec.rb +263 -0
- data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +92 -0
- data/spec/integration/ip_messaging/v2/service/user_spec.rb +266 -0
- data/spec/integration/ip_messaging/v2/service_spec.rb +325 -0
- data/spec/integration/lookups/v1/phone_number_spec.rb +60 -0
- data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +170 -0
- data/spec/integration/messaging/v1/service/phone_number_spec.rb +201 -0
- data/spec/integration/messaging/v1/service/short_code_spec.rb +173 -0
- data/spec/integration/messaging/v1/service_spec.rb +263 -0
- data/spec/integration/monitor/v1/alert_spec.rb +161 -0
- data/spec/integration/monitor/v1/event_spec.rb +148 -0
- data/spec/integration/notify/v1/credential_spec.rb +223 -0
- data/spec/integration/notify/v1/service/binding_spec.rb +227 -0
- data/spec/integration/notify/v1/service/notification_spec.rb +97 -0
- data/spec/integration/notify/v1/service/segment_spec.rb +84 -0
- data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +118 -0
- data/spec/integration/notify/v1/service/user/user_binding_spec.rb +269 -0
- data/spec/integration/notify/v1/service/user_spec.rb +213 -0
- data/spec/integration/notify/v1/service_spec.rb +280 -0
- data/spec/integration/preview/bulk_exports/export/day_spec.rb +56 -0
- data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +79 -0
- data/spec/integration/preview/bulk_exports/export_spec.rb +43 -0
- data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +280 -0
- data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +121 -0
- data/spec/integration/preview/marketplace/available_add_on_spec.rb +142 -0
- data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +164 -0
- data/spec/integration/preview/marketplace/installed_add_on_spec.rb +252 -0
- data/spec/integration/preview/proxy/service/phone_number_spec.rb +173 -0
- data/spec/integration/preview/proxy/service/session/interaction_spec.rb +104 -0
- data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +164 -0
- data/spec/integration/preview/proxy/service/session/participant_spec.rb +226 -0
- data/spec/integration/preview/proxy/service/session_spec.rb +216 -0
- data/spec/integration/preview/proxy/service/short_code_spec.rb +173 -0
- data/spec/integration/preview/proxy/service_spec.rb +200 -0
- data/spec/integration/preview/sync/service/document/document_permission_spec.rb +206 -0
- data/spec/integration/preview/sync/service/document_spec.rb +254 -0
- data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +256 -0
- data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +206 -0
- data/spec/integration/preview/sync/service/sync_list_spec.rb +207 -0
- data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +257 -0
- data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +206 -0
- data/spec/integration/preview/sync/service/sync_map_spec.rb +207 -0
- data/spec/integration/preview/sync/service_spec.rb +244 -0
- data/spec/integration/preview/wireless/command_spec.rb +169 -0
- data/spec/integration/preview/wireless/rate_plan_spec.rb +260 -0
- data/spec/integration/preview/wireless/sim/usage_spec.rb +49 -0
- data/spec/integration/preview/wireless/sim_spec.rb +208 -0
- data/spec/integration/pricing/v1/messaging/country_spec.rb +137 -0
- data/spec/integration/pricing/v1/messaging_spec.rb +10 -0
- data/spec/integration/pricing/v1/phone_number/country_spec.rb +128 -0
- data/spec/integration/pricing/v1/phone_number_spec.rb +10 -0
- data/spec/integration/pricing/v1/voice/country_spec.rb +266 -0
- data/spec/integration/pricing/v1/voice/number_spec.rb +54 -0
- data/spec/integration/pricing/v1/voice_spec.rb +10 -0
- data/spec/integration/sync/v1/service/document/document_permission_spec.rb +206 -0
- data/spec/integration/sync/v1/service/document_spec.rb +254 -0
- data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +256 -0
- data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +206 -0
- data/spec/integration/sync/v1/service/sync_list_spec.rb +207 -0
- data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +257 -0
- data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +206 -0
- data/spec/integration/sync/v1/service/sync_map_spec.rb +207 -0
- data/spec/integration/sync/v1/service_spec.rb +244 -0
- data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +236 -0
- data/spec/integration/taskrouter/v1/workspace/event_spec.rb +157 -0
- data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +192 -0
- data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +127 -0
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +106 -0
- data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +144 -0
- data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +292 -0
- data/spec/integration/taskrouter/v1/workspace/task_spec.rb +324 -0
- data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +192 -0
- data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +201 -0
- data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +107 -0
- data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +141 -0
- data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +282 -0
- data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +69 -0
- data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +265 -0
- data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +103 -0
- data/spec/integration/taskrouter/v1/workspace_spec.rb +287 -0
- data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +192 -0
- data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +192 -0
- data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +250 -0
- data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +267 -0
- data/spec/integration/trunking/v1/trunk_spec.rb +276 -0
- data/spec/integration/video/v1/recording_spec.rb +165 -0
- data/spec/integration/video/v1/room/recording_spec.rb +146 -0
- data/spec/integration/video/v1/room_spec.rb +237 -0
- data/spec/integration/wireless/v1/command_spec.rb +166 -0
- data/spec/integration/wireless/v1/rate_plan_spec.rb +268 -0
- data/spec/integration/wireless/v1/sim/usage_record_spec.rb +65 -0
- data/spec/integration/wireless/v1/sim_spec.rb +208 -0
- data/spec/jwt/access_token_spec.rb +130 -0
- data/spec/jwt/client_capability_spec.rb +104 -0
- data/spec/jwt/task_router_spec.rb +172 -0
- data/spec/rack/twilio_webhook_authentication_spec.rb +19 -23
- data/spec/{util → security}/request_validator_spec.rb +5 -5
- data/spec/spec_helper.rb +18 -1
- data/spec/support/fakeweb.rb +1 -1
- data/spec/twiml/messaging_response_spec.rb +90 -0
- data/spec/twiml/voice_response_spec.rb +474 -0
- data/twilio-ruby.gemspec +13 -8
- metadata +708 -251
- data/docs/Makefile +0 -130
- data/docs/_themes/LICENSE +0 -45
- data/docs/_themes/README.rst +0 -25
- data/docs/_themes/flask_theme_support.py +0 -86
- data/docs/_themes/kr/layout.html +0 -32
- data/docs/_themes/kr/relations.html +0 -19
- data/docs/_themes/kr/static/flasky.css_t +0 -469
- data/docs/_themes/kr/static/small_flask.css +0 -70
- data/docs/_themes/kr/theme.conf +0 -7
- data/docs/_themes/kr_small/layout.html +0 -22
- data/docs/_themes/kr_small/static/flasky.css_t +0 -287
- data/docs/_themes/kr_small/theme.conf +0 -10
- data/docs/changelog.rst +0 -1
- data/docs/conf.py +0 -266
- data/docs/faq.rst +0 -42
- data/docs/getting-started.rst +0 -117
- data/docs/index.rst +0 -135
- data/docs/make.bat +0 -170
- data/docs/src/pip-delete-this-directory.txt +0 -5
- data/docs/usage/accounts.rst +0 -89
- data/docs/usage/addresses.rst +0 -101
- data/docs/usage/applications.rst +0 -108
- data/docs/usage/basics.rst +0 -115
- data/docs/usage/caller-ids.rst +0 -47
- data/docs/usage/conferences.rst +0 -108
- data/docs/usage/errors.rst +0 -29
- data/docs/usage/lookups.rst +0 -62
- data/docs/usage/messages.rst +0 -137
- data/docs/usage/notifications.rst +0 -72
- data/docs/usage/phone-calls.rst +0 -185
- data/docs/usage/phone-numbers.rst +0 -189
- data/docs/usage/pricing.rst +0 -169
- data/docs/usage/queues.rst +0 -112
- data/docs/usage/recordings.rst +0 -98
- data/docs/usage/sip.rst +0 -104
- data/docs/usage/taskrouter-tokens.rst +0 -98
- data/docs/usage/taskrouter.rst +0 -440
- data/docs/usage/token-generation.rst +0 -115
- data/docs/usage/transcriptions.rst +0 -32
- data/docs/usage/twiml.rst +0 -69
- data/docs/usage/validation.rst +0 -107
- data/examples/taskrouter.examples.rb +0 -86
- data/issue_template.md +0 -25
- data/lib/twilio-ruby/rest/addresses.rb +0 -12
- data/lib/twilio-ruby/rest/addresses/dependent_phone_numbers.rb +0 -6
- data/lib/twilio-ruby/rest/applications.rb +0 -6
- data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
- data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
- data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
- data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
- data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
- data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
- data/lib/twilio-ruby/rest/base_client.rb +0 -131
- data/lib/twilio-ruby/rest/call_feedback.rb +0 -28
- data/lib/twilio-ruby/rest/call_feedback_summary.rb +0 -13
- data/lib/twilio-ruby/rest/calls.rb +0 -33
- data/lib/twilio-ruby/rest/conferences.rb +0 -12
- data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
- data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
- data/lib/twilio-ruby/rest/errors.rb +0 -14
- data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
- data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
- data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
- data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
- data/lib/twilio-ruby/rest/instance_resource.rb +0 -87
- data/lib/twilio-ruby/rest/ip-messaging/channels.rb +0 -15
- data/lib/twilio-ruby/rest/ip-messaging/credentials.rb +0 -19
- data/lib/twilio-ruby/rest/ip-messaging/members.rb +0 -8
- data/lib/twilio-ruby/rest/ip-messaging/messages.rb +0 -8
- data/lib/twilio-ruby/rest/ip-messaging/roles.rb +0 -8
- data/lib/twilio-ruby/rest/ip-messaging/services.rb +0 -17
- data/lib/twilio-ruby/rest/ip-messaging/users.rb +0 -8
- data/lib/twilio-ruby/rest/ip_messaging_client.rb +0 -100
- data/lib/twilio-ruby/rest/keys.rb +0 -6
- data/lib/twilio-ruby/rest/list_resource.rb +0 -100
- data/lib/twilio-ruby/rest/lookups/phone_numbers.rb +0 -17
- data/lib/twilio-ruby/rest/lookups_client.rb +0 -99
- data/lib/twilio-ruby/rest/media.rb +0 -14
- data/lib/twilio-ruby/rest/messages.rb +0 -22
- data/lib/twilio-ruby/rest/monitor/alerts.rb +0 -8
- data/lib/twilio-ruby/rest/monitor/events.rb +0 -8
- data/lib/twilio-ruby/rest/monitor_client.rb +0 -101
- data/lib/twilio-ruby/rest/next_gen_list_resource.rb +0 -36
- data/lib/twilio-ruby/rest/notifications.rb +0 -6
- data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
- data/lib/twilio-ruby/rest/pricing/countries.rb +0 -21
- data/lib/twilio-ruby/rest/pricing/messaging.rb +0 -15
- data/lib/twilio-ruby/rest/pricing/phone_numbers.rb +0 -14
- data/lib/twilio-ruby/rest/pricing/voice.rb +0 -15
- data/lib/twilio-ruby/rest/pricing/voice/numbers.rb +0 -19
- data/lib/twilio-ruby/rest/pricing_client.rb +0 -108
- data/lib/twilio-ruby/rest/queues.rb +0 -12
- data/lib/twilio-ruby/rest/queues/members.rb +0 -29
- data/lib/twilio-ruby/rest/recordings.rb +0 -35
- data/lib/twilio-ruby/rest/sandbox.rb +0 -5
- data/lib/twilio-ruby/rest/sip.rb +0 -10
- data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
- data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
- data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
- data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
- data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
- data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
- data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
- data/lib/twilio-ruby/rest/sms.rb +0 -11
- data/lib/twilio-ruby/rest/sms/messages.rb +0 -38
- data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
- data/lib/twilio-ruby/rest/task_router/activities.rb +0 -8
- data/lib/twilio-ruby/rest/task_router/events.rb +0 -8
- data/lib/twilio-ruby/rest/task_router/reservations.rb +0 -8
- data/lib/twilio-ruby/rest/task_router/statistics.rb +0 -26
- data/lib/twilio-ruby/rest/task_router/task_queues.rb +0 -17
- data/lib/twilio-ruby/rest/task_router/task_queues_statistics.rb +0 -15
- data/lib/twilio-ruby/rest/task_router/tasks.rb +0 -15
- data/lib/twilio-ruby/rest/task_router/workers.rb +0 -19
- data/lib/twilio-ruby/rest/task_router/workers_statistics.rb +0 -8
- data/lib/twilio-ruby/rest/task_router/workflow_statistics.rb +0 -7
- data/lib/twilio-ruby/rest/task_router/workflows.rb +0 -11
- data/lib/twilio-ruby/rest/task_router/workspace_statistics.rb +0 -7
- data/lib/twilio-ruby/rest/task_router/workspaces.rb +0 -17
- data/lib/twilio-ruby/rest/task_router_client.rb +0 -176
- data/lib/twilio-ruby/rest/tokens.rb +0 -7
- data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
- data/lib/twilio-ruby/rest/trunking/credential_lists.rb +0 -8
- data/lib/twilio-ruby/rest/trunking/ip_access_control_lists.rb +0 -8
- data/lib/twilio-ruby/rest/trunking/origination_urls.rb +0 -8
- data/lib/twilio-ruby/rest/trunking/phone_numbers.rb +0 -8
- data/lib/twilio-ruby/rest/trunking/trunks.rb +0 -19
- data/lib/twilio-ruby/rest/trunking_client.rb +0 -106
- data/lib/twilio-ruby/rest/usage.rb +0 -10
- data/lib/twilio-ruby/rest/usage/records.rb +0 -21
- data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
- data/lib/twilio-ruby/rest/utils.rb +0 -49
- data/lib/twilio-ruby/task_router.rb +0 -0
- data/lib/twilio-ruby/task_router/capability.rb +0 -230
- data/lib/twilio-ruby/task_router/workflow_builder.rb +0 -135
- data/lib/twilio-ruby/twiml/response.rb +0 -16
- data/lib/twilio-ruby/util/access_token.rb +0 -158
- data/lib/twilio-ruby/util/capability.rb +0 -64
- data/lib/twilio-ruby/util/client_config.rb +0 -29
- data/spec/rest/account_spec.rb +0 -89
- data/spec/rest/address_spec.rb +0 -11
- data/spec/rest/call_feedback_spec.rb +0 -12
- data/spec/rest/call_feedback_summary_spec.rb +0 -9
- data/spec/rest/call_spec.rb +0 -22
- data/spec/rest/client_spec.rb +0 -277
- data/spec/rest/conference_spec.rb +0 -11
- data/spec/rest/instance_resource_spec.rb +0 -15
- data/spec/rest/ip-messaging/channel_spec.rb +0 -21
- data/spec/rest/ip-messaging/service_spec.rb +0 -30
- data/spec/rest/ip_messaging_client_spec.rb +0 -21
- data/spec/rest/key_spec.rb +0 -11
- data/spec/rest/lookups/phone_number_spec.rb +0 -28
- data/spec/rest/message_spec.rb +0 -12
- data/spec/rest/monitor_client_spec.rb +0 -17
- data/spec/rest/numbers_spec.rb +0 -58
- data/spec/rest/pricing_client_spec.rb +0 -60
- data/spec/rest/queue_spec.rb +0 -11
- data/spec/rest/recording_spec.rb +0 -11
- data/spec/rest/sms/message_spec.rb +0 -37
- data/spec/rest/sms/messages_spec.rb +0 -31
- data/spec/rest/task_router/reservation_spec.rb +0 -14
- data/spec/rest/task_router/statistics_spec.rb +0 -37
- data/spec/rest/task_router/task_queue_spec.rb +0 -9
- data/spec/rest/token_spec.rb +0 -7
- data/spec/rest/trunking/trunk_spec.rb +0 -36
- data/spec/rest/utils_spec.rb +0 -45
- data/spec/task_router/workflow_builder_spec.rb +0 -501
- data/spec/task_router_deprecated_spec.rb +0 -139
- data/spec/task_router_spec.rb +0 -110
- data/spec/task_router_taskqueue_spec.rb +0 -111
- data/spec/task_router_worker_spec.rb +0 -146
- data/spec/task_router_workspace_spec.rb +0 -110
- data/spec/util/access_token_spec.rb +0 -161
- data/spec/util/capability_spec.rb +0 -186
- data/spec/util/client_config_spec.rb +0 -21
data/Gemfile
CHANGED
data/LICENSE.md
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Copyright (C) 2017, Twilio, Inc. <help@twilio.com>
|
|
4
4
|
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
6
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
7
|
+
the Software without restriction, including without limitation the rights to
|
|
8
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
9
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
|
10
|
+
so, subject to the following conditions:
|
|
11
11
|
|
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
|
13
|
-
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
14
|
|
|
15
15
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
16
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
17
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
18
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
-
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
data/Makefile
CHANGED
|
@@ -1,15 +1,25 @@
|
|
|
1
|
+
.PHONY: test lint-changed lint
|
|
2
|
+
|
|
3
|
+
CHANGED_RUBY_FILES = $(shell git status --porcelain | grep ".rb" | awk -F ' ' '{print $2}' | tr '\n' ' ')
|
|
4
|
+
|
|
1
5
|
install:
|
|
2
|
-
bundle exec rake install
|
|
6
|
+
bundle install; bundle exec rake install
|
|
3
7
|
|
|
4
8
|
test-install:
|
|
5
9
|
bundle install
|
|
6
10
|
|
|
7
|
-
test:
|
|
11
|
+
test: lint
|
|
8
12
|
bundle exec rake spec
|
|
9
13
|
|
|
14
|
+
docs:
|
|
15
|
+
yard doc
|
|
16
|
+
|
|
17
|
+
lint:
|
|
18
|
+
rubocop --cache true --parallel
|
|
19
|
+
|
|
10
20
|
authors:
|
|
11
21
|
echo "Authors\n=======\n\nA huge thanks to all of our contributors:\n\n" > AUTHORS.md
|
|
12
22
|
git log --raw | grep "^Author: " | cut -d ' ' -f2- | cut -d '<' -f1 | sed 's/^/- /' | sort | uniq >> AUTHORS.md
|
|
13
23
|
|
|
14
|
-
|
|
24
|
+
gem:
|
|
15
25
|
bundle exec rake build | sed -e 's/.*pkg/pkg/g' | sed -e "s/\.$$//g" | xargs gem push
|
data/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
# twilio-ruby
|
|
2
|
+
|
|
2
3
|
[][travis]
|
|
4
|
+
[][gem]
|
|
3
5
|
[][codeclimate]
|
|
4
6
|
|
|
5
|
-
# twilio-ruby
|
|
6
|
-
|
|
7
7
|
A module for using the Twilio REST API and generating valid [TwiML](http://www.twilio.com/docs/api/twiml/ "TwiML - Twilio Markup Language"). [Click here to read the full documentation.][documentation]
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
@@ -11,13 +11,13 @@ A module for using the Twilio REST API and generating valid [TwiML](http://www.t
|
|
|
11
11
|
To install using [Bundler][bundler] grab the latest stable version:
|
|
12
12
|
|
|
13
13
|
```ruby
|
|
14
|
-
gem 'twilio-ruby', '~>
|
|
14
|
+
gem 'twilio-ruby', '~> 5.0.0.rc26'
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
gem install twilio-ruby
|
|
20
|
+
gem install twilio-ruby -v 5.0.0.rc26
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
To build and install the development branch yourself from the latest source:
|
|
@@ -28,12 +28,20 @@ cd twilio-ruby
|
|
|
28
28
|
make install
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
### Migration from 4.x
|
|
32
|
+
[Upgrade Guide][upgrade]
|
|
33
|
+
|
|
34
|
+
## Documentation
|
|
35
|
+
[Here][documentation]
|
|
36
|
+
|
|
37
|
+
## Feedback
|
|
38
|
+
During the Release Candidate period of this library, please leave all feedback and issues in the [Github Issues][issues] for `twilio-ruby`.
|
|
39
|
+
|
|
40
|
+
## Getting Started
|
|
32
41
|
|
|
33
42
|
### Setup Work
|
|
34
43
|
|
|
35
|
-
```
|
|
36
|
-
require 'rubygems' # not necessary with ruby 1.9 but included for completeness
|
|
44
|
+
```ruby
|
|
37
45
|
require 'twilio-ruby'
|
|
38
46
|
|
|
39
47
|
# put your own credentials here
|
|
@@ -53,101 +61,39 @@ end
|
|
|
53
61
|
@client = Twilio::REST::Client.new
|
|
54
62
|
```
|
|
55
63
|
|
|
56
|
-
###
|
|
64
|
+
### Make a Call
|
|
57
65
|
|
|
58
|
-
```
|
|
59
|
-
@client.
|
|
66
|
+
```ruby
|
|
67
|
+
@client.api.account.calls.create(
|
|
60
68
|
from: '+14159341234',
|
|
61
69
|
to: '+16105557069',
|
|
62
|
-
|
|
70
|
+
url: 'http://example.com'
|
|
63
71
|
)
|
|
64
72
|
```
|
|
65
73
|
|
|
66
|
-
### Send an
|
|
74
|
+
### Send an SMS
|
|
67
75
|
|
|
68
|
-
```
|
|
69
|
-
@client.messages.create(
|
|
76
|
+
```ruby
|
|
77
|
+
@client.api.account.messages.create(
|
|
70
78
|
from: '+14159341234',
|
|
71
79
|
to: '+16105557069',
|
|
72
|
-
body: 'Hey there!'
|
|
73
|
-
media_url: 'http://example.com/smileyface.jpg'
|
|
74
|
-
)
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Do Some Stuff With Calls
|
|
78
|
-
|
|
79
|
-
``` ruby
|
|
80
|
-
# make a new outgoing call
|
|
81
|
-
@call = @client.calls.create(
|
|
82
|
-
from: '+14159341234',
|
|
83
|
-
to: '+18004567890',
|
|
84
|
-
url: 'http://example.com/call-handler'
|
|
85
|
-
)
|
|
86
|
-
|
|
87
|
-
# hangup a ringing call, but don't touch it if it's connected
|
|
88
|
-
@call.cancel
|
|
89
|
-
|
|
90
|
-
# if you have the call sid, you can fetch a call object via:
|
|
91
|
-
@call = @client.calls.get('CA386025c9bf5d6052a1d1ea42b4d16662')
|
|
92
|
-
|
|
93
|
-
# redirect an in-progress call
|
|
94
|
-
@call.redirect_to('http://example.com/call-redirect')
|
|
95
|
-
|
|
96
|
-
# hangup a call, no matter whether it is ringing or connected
|
|
97
|
-
@call.hangup
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
### List Calls after a certain time
|
|
101
|
-
|
|
102
|
-
``` ruby
|
|
103
|
-
# list calls made or received on or after May 13, 2013
|
|
104
|
-
@client.calls.list("start_time>" => "2013-05-13") # Notice we omit the "=" in the "start_time>=" parameter because it is automatically added
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### Buy a Phone Number
|
|
108
|
-
|
|
109
|
-
``` ruby
|
|
110
|
-
# print some available numbers
|
|
111
|
-
@numbers = @client.available_phone_numbers.get('US').local.list(
|
|
112
|
-
contains: 'AWESOME'
|
|
80
|
+
body: 'Hey there!'
|
|
113
81
|
)
|
|
114
|
-
@numbers.each {|num| puts num.phone_number}
|
|
115
|
-
|
|
116
|
-
# buy the first one
|
|
117
|
-
@number = @numbers[0].phone_number
|
|
118
|
-
@client.incoming_phone_numbers.create(phone_number: @number)
|
|
119
82
|
```
|
|
120
83
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
If you need to create a Task to TaskRouter, you can do so by using the TaskRouterClient.
|
|
124
|
-
|
|
125
|
-
Additional resources had off of the workspace object (task_queues, workers, workflows, activities, tasks, statistics, events).
|
|
126
|
-
|
|
127
|
-
``` ruby
|
|
128
|
-
require 'rubygems'
|
|
129
|
-
require 'twilio-ruby'
|
|
130
|
-
|
|
131
|
-
# put your own account credentials here:
|
|
132
|
-
account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
|
133
|
-
auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
|
|
134
|
-
workspace_sid = 'WSzzzzzzzzzzzzzzzzzzzzzzzzzzz'
|
|
135
|
-
|
|
136
|
-
# set up a client
|
|
137
|
-
client = Twilio::REST::TaskRouterClient.new account_sid, auth_token, workspace_sid
|
|
84
|
+
### Customizing your HTTP Client
|
|
85
|
+
twilio-ruby uses [Faraday][faraday] to make HTTP requests. You can tell Twilio::REST::Client to use any of the Faraday adapters like so:
|
|
138
86
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
client.workspace.tasks.create(attributes: '{"foo": "bar"}', workflow_sid: "WWfffffffffffffffffffffffffffffff")
|
|
87
|
+
```ruby
|
|
88
|
+
@client.http_client.adapter = :typhoeus
|
|
142
89
|
```
|
|
143
90
|
|
|
144
|
-
##
|
|
91
|
+
## Getting Started With Client Capability Tokens
|
|
145
92
|
|
|
146
93
|
If you just need to generate a Capability Token for use with Twilio Client, you
|
|
147
94
|
can do this:
|
|
148
95
|
|
|
149
|
-
```
|
|
150
|
-
require 'rubygems' # not necessary with ruby 1.9 but included for completeness
|
|
96
|
+
```ruby
|
|
151
97
|
require 'twilio-ruby'
|
|
152
98
|
|
|
153
99
|
# put your own account credentials here:
|
|
@@ -155,69 +101,46 @@ account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
|
|
155
101
|
auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
|
|
156
102
|
|
|
157
103
|
# set up
|
|
158
|
-
capability = Twilio::
|
|
104
|
+
capability = Twilio::JWT::ClientCapability.new account_sid, auth_token
|
|
105
|
+
|
|
159
106
|
|
|
160
107
|
# allow outgoing calls to an application
|
|
161
|
-
|
|
108
|
+
outgoingScope = Twilio::JWT::ClientCapability::OutgoingClientScope.new 'AP11111111111111111111111111111111'
|
|
109
|
+
capability.add_scope(outgoingScope)
|
|
162
110
|
|
|
163
111
|
# allow incoming calls to 'andrew'
|
|
164
|
-
|
|
112
|
+
incomingScope = Twilio::JWT::ClientCapability::IncomingClientScope.new 'tom'
|
|
113
|
+
capability.add_scope(incomingScope)
|
|
165
114
|
|
|
166
115
|
# generate the token string
|
|
167
|
-
@token = capability.
|
|
116
|
+
@token = capability.to_s
|
|
168
117
|
```
|
|
169
118
|
|
|
170
119
|
There is a slightly more detailed document in the [Capability][capability]
|
|
171
120
|
section of the wiki.
|
|
172
121
|
|
|
173
|
-
## Lookup Phone Number information
|
|
174
|
-
|
|
175
|
-
You can look up details on phone numbers with the Lookups API.
|
|
176
|
-
|
|
177
|
-
```ruby
|
|
178
|
-
require 'twilio-ruby'
|
|
179
|
-
|
|
180
|
-
# put your own credentials here
|
|
181
|
-
account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
|
182
|
-
auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
|
|
183
|
-
|
|
184
|
-
# set up a client to talk to the Twilio REST API
|
|
185
|
-
@lookups_client = Twilio::REST::LookupsClient.new account_sid, auth_token
|
|
186
|
-
|
|
187
|
-
# lookup a number
|
|
188
|
-
number = @lookups_client.phone_numbers.get('+14159341234')
|
|
189
|
-
|
|
190
|
-
# investigate the number
|
|
191
|
-
number.national_format
|
|
192
|
-
# => "(415) 934-1234"
|
|
193
|
-
number.country_code
|
|
194
|
-
# => "US"
|
|
195
|
-
```
|
|
196
|
-
|
|
197
122
|
## Getting Started With TwiML
|
|
198
123
|
|
|
199
124
|
TwiML support is based on the [Builder][builder] library. You can construct a
|
|
200
125
|
TwiML response like this:
|
|
201
126
|
|
|
202
|
-
```
|
|
203
|
-
require 'rubygems' # not necessary with ruby 1.9 but included for completeness
|
|
127
|
+
```ruby
|
|
204
128
|
require 'twilio-ruby'
|
|
205
129
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
r.
|
|
209
|
-
|
|
210
|
-
d.Client 'jenny'
|
|
130
|
+
response = Twilio::TwiML::VoiceResponse.new do |r|
|
|
131
|
+
r.say('hello there', voice: 'alice')
|
|
132
|
+
r.dial(caller_id: '+14159992222') do |d|
|
|
133
|
+
d.client 'jenny'
|
|
211
134
|
end
|
|
212
135
|
end
|
|
213
136
|
|
|
214
137
|
# print the result
|
|
215
|
-
puts response.
|
|
138
|
+
puts response.to_s
|
|
216
139
|
```
|
|
217
140
|
|
|
218
141
|
This will print the following (except for the whitespace):
|
|
219
142
|
|
|
220
|
-
```
|
|
143
|
+
```xml
|
|
221
144
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
222
145
|
<Response>
|
|
223
146
|
<Say voice="alice">hello there</Say>
|
|
@@ -232,34 +155,22 @@ This will print the following (except for the whitespace):
|
|
|
232
155
|
This library supports and is [tested against][travis] the following Ruby
|
|
233
156
|
implementations:
|
|
234
157
|
|
|
158
|
+
- Ruby 2.4.0
|
|
159
|
+
- Ruby 2.3.0
|
|
235
160
|
- Ruby 2.2.0
|
|
236
161
|
- Ruby 2.1.0
|
|
237
162
|
- Ruby 2.0.0
|
|
238
|
-
- Ruby 1.9.3
|
|
239
|
-
- [JRuby][jruby]
|
|
240
|
-
- [Rubinius][rubinius]
|
|
241
|
-
|
|
242
|
-
## Getting help
|
|
243
|
-
|
|
244
|
-
If you need help installing or using the library, please contact Twilio Support at help@twilio.com first. Twilio's Support staff are well-versed in all of the Twilio Helper Libraries, and usually reply within 24 hours.
|
|
245
|
-
|
|
246
|
-
If you've instead found a bug in the library or would like new features added, go ahead and open issues or pull requests against this repo!
|
|
247
|
-
|
|
248
|
-
## More Information
|
|
249
|
-
|
|
250
|
-
There are more detailed examples in the included [examples][examples]
|
|
251
|
-
directory. Also for those upgrading, the [upgrade guide][upgrade] is available in the [twilio-ruby github wiki][wiki].
|
|
252
163
|
|
|
253
164
|
[capability]: https://github.com/twilio/twilio-ruby/wiki/Capability
|
|
254
165
|
[builder]: http://builder.rubyforge.org/
|
|
255
166
|
[examples]: https://github.com/twilio/twilio-ruby/blob/master/examples
|
|
256
|
-
[documentation]: http://twilio
|
|
257
|
-
[upgrade]: https://github.com/twilio/twilio-ruby/wiki/UpgradeGuide
|
|
167
|
+
[documentation]: http://twilio.github.io/twilio-ruby
|
|
258
168
|
[wiki]: https://github.com/twilio/twilio-ruby/wiki
|
|
259
169
|
[bundler]: http://bundler.io
|
|
260
170
|
[rubygems]: http://rubygems.org
|
|
261
171
|
[gem]: https://rubygems.org/gems/twilio
|
|
262
172
|
[travis]: http://travis-ci.org/twilio/twilio-ruby
|
|
263
173
|
[codeclimate]: https://codeclimate.com/github/twilio/twilio-ruby
|
|
264
|
-
[
|
|
265
|
-
[
|
|
174
|
+
[upgrade]: https://github.com/twilio/twilio-ruby/wiki/Ruby-Version-5.x-Upgrade-Guide
|
|
175
|
+
[issues]: https://github.com/twilio/twilio-ruby/issues
|
|
176
|
+
[faraday]: https://github.com/lostisland/faraday
|
data/Rakefile
CHANGED
|
@@ -8,3 +8,57 @@ RSpec::Core::RakeTask.new(:spec)
|
|
|
8
8
|
|
|
9
9
|
task default: :spec
|
|
10
10
|
task test: :spec
|
|
11
|
+
|
|
12
|
+
task :authors do
|
|
13
|
+
`make authors`
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
task :deploy, [:version] => [:spec, :authors] do |t, args|
|
|
17
|
+
current_version = Twilio::VERSION
|
|
18
|
+
|
|
19
|
+
if args.version.nil?
|
|
20
|
+
version = Twilio::VERSION
|
|
21
|
+
version_parts = version.split('.')
|
|
22
|
+
increment = version_parts.pop
|
|
23
|
+
increment_prefix = increment.split(/\d/)[0]
|
|
24
|
+
|
|
25
|
+
increment = increment[increment_prefix.length..-1] if increment_prefix
|
|
26
|
+
|
|
27
|
+
increment = increment.to_i + 1
|
|
28
|
+
increment = "#{increment_prefix}#{increment}" if increment_prefix
|
|
29
|
+
|
|
30
|
+
version = [*version_parts, increment].join('.')
|
|
31
|
+
else
|
|
32
|
+
version = args.version
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
puts("Deploying #{version}")
|
|
36
|
+
|
|
37
|
+
# Update version.rb
|
|
38
|
+
version_file = <<SRC
|
|
39
|
+
module Twilio
|
|
40
|
+
VERSION = '#{version}'
|
|
41
|
+
end
|
|
42
|
+
SRC
|
|
43
|
+
File.write('lib/twilio-ruby/version.rb', version_file)
|
|
44
|
+
|
|
45
|
+
# Update README.md
|
|
46
|
+
current_readme = File.read('README.md')
|
|
47
|
+
new_readme = current_readme.gsub(Regexp.new(current_version.gsub('.', '\.')), version)
|
|
48
|
+
File.write('README.md', new_readme)
|
|
49
|
+
|
|
50
|
+
# Make a git commit
|
|
51
|
+
`git commit -am "Bumping to version #{version}"`
|
|
52
|
+
|
|
53
|
+
# Do the gem deployment
|
|
54
|
+
`make gem`
|
|
55
|
+
|
|
56
|
+
# Push the branch back up
|
|
57
|
+
`git push`
|
|
58
|
+
|
|
59
|
+
# Tag the branch
|
|
60
|
+
`git tag #{version}`
|
|
61
|
+
|
|
62
|
+
# Push the tags
|
|
63
|
+
`git push --tags`
|
|
64
|
+
end
|
data/VERSIONS.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Versioning Strategy
|
|
2
|
+
|
|
3
|
+
`twilio-ruby` uses a modified version of [Semantic Versioning][semver] for all
|
|
4
|
+
changes to the helper library. It is strongly encouraged that you pin at least
|
|
5
|
+
the major version and potentially the minor version to avoid pulling in breaking
|
|
6
|
+
changes.
|
|
7
|
+
|
|
8
|
+
Semantic Versions take the form of `MAJOR`.`MINOR`.`PATCH`
|
|
9
|
+
|
|
10
|
+
When bugs are fixed in the library in a backwards compatible way, the `PATCH`
|
|
11
|
+
level will be incremented by one. When new features are added to the library
|
|
12
|
+
in a backwards compatible way, the `PATCH` level will be incremented by one.
|
|
13
|
+
`PATCH` changes should _not_ break your code and are generally safe for upgrade.
|
|
14
|
+
|
|
15
|
+
When a new large feature set comes online or a small breaking change is
|
|
16
|
+
introduced, the `MINOR` version will be incremented by one and the `PATCH`
|
|
17
|
+
version reset to zero. `MINOR` changes _may_ require some amount of manual code
|
|
18
|
+
change for upgrade. These backwards-incompatible changes will generally be limited
|
|
19
|
+
to a small number of function signature changes.
|
|
20
|
+
|
|
21
|
+
The `MAJOR` version is used to indicate the family of technology represented by
|
|
22
|
+
the helper library. It increased from `4.x.x` to `5.x.x` when Twilio moved to
|
|
23
|
+
auto generation of helper libraries. Breaking changes that requires extensive
|
|
24
|
+
reworking of code (like the `4.x.x` to `5.x.x` upgrade) will case the `MAJOR`
|
|
25
|
+
version to be incremented by one, the `MINOR` and `PATCH` versions will be reset
|
|
26
|
+
to zero. Twilio understands that this can be very disruptive, we will only
|
|
27
|
+
introduce this type of breaking change when absolutely necessary. New `MAJOR`
|
|
28
|
+
versions will be communicated in advance with `Release Candidates` and a
|
|
29
|
+
schedule.
|
|
30
|
+
|
|
31
|
+
## Supported Versions
|
|
32
|
+
|
|
33
|
+
`twilio-ruby` follows an evergreen model of support. New features and
|
|
34
|
+
functionality will only be added to the current version. The current version -
|
|
35
|
+
1 will continue to be supported with bugfixes and security updates, but no new
|
|
36
|
+
features.
|
|
37
|
+
|
|
38
|
+
## Edge Features (alpha Branch)
|
|
39
|
+
|
|
40
|
+
Twilio frequently rolls out new features in public and private beta periods.
|
|
41
|
+
Twilio strives to ship early and often and bake customer feedback back into our
|
|
42
|
+
products. To support that mission, the `twilio-ruby` helper library has an
|
|
43
|
+
`Edge` version based of the `alpha` branch. This version is identified with an
|
|
44
|
+
`alpha` metadata tag on the version number.
|
|
45
|
+
|
|
46
|
+
The way the `Edge` artifact is created is by playing the `Edge` features on top
|
|
47
|
+
of our stable artifact. The `Edge` artifact will always have the same version
|
|
48
|
+
number as the stable artifact it was created from, but with an `alpha` suffix.
|
|
49
|
+
|
|
50
|
+
For example, `5.0.0-alpha-1` is the `5.0.0` branch with `Edge` features included.
|
|
51
|
+
If there is a change to one of the `Edge` features we may regenerate the `Edge`
|
|
52
|
+
artifact and release a new `5.0.0-alpha-2`, new `Edge` artifacts simply increment
|
|
53
|
+
the number after the `alpha` suffix. All `Edge` features are considered
|
|
54
|
+
unstable and a backwards incompatible change in an `Edge` feature will not cause
|
|
55
|
+
any version change so you should take care when upgrading from one `alpha`
|
|
56
|
+
version to another.
|
|
57
|
+
|
|
58
|
+
Once an `Edge` feature has matured it will be considered `Mainline` and included
|
|
59
|
+
in the stable artifact, with a `MAJOR` or `MINOR` version bump.
|
|
60
|
+
|
|
61
|
+
To use an `Edge` artifact in your Ruby project you will have to make sure that
|
|
62
|
+
you pin the artifact with `alpha` stability in your `pom.xml`.
|
|
63
|
+
|
|
64
|
+
[semver]: http://semver.org/
|