twilio-ruby 3.11.5 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +4 -1
- data/.rubocop.yml +21 -0
- data/.rubocop_todo.yml +187 -0
- data/.travis.yml +10 -10
- data/AUTHORS.md +21 -0
- data/CHANGES.md +351 -0
- data/Gemfile +8 -1
- data/{LICENSE → LICENSE.md} +13 -11
- data/Makefile +15 -3
- data/README.md +90 -95
- data/Rakefile +59 -7
- data/VERSIONS.md +64 -0
- data/examples/examples.rb +62 -49
- data/examples/{print-call-log.rb → print_call_log.rb} +7 -7
- data/lib/rack/twilio_webhook_authentication.rb +46 -0
- 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/v1/credential/public_key.rb +370 -0
- data/lib/twilio-ruby/rest/accounts/v1/credential.rb +105 -0
- data/lib/twilio-ruby/rest/accounts/v1.rb +39 -0
- data/lib/twilio-ruby/rest/accounts.rb +36 -9
- data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +265 -0
- data/lib/twilio-ruby/rest/api/v2010/account/address.rb +509 -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/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/available_phone_number.rb +370 -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/call.rb +799 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +515 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +455 -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/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/incoming_phone_number.rb +786 -0
- data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -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/message.rb +583 -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/member.rb +345 -0
- data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +438 -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/add_on_result.rb +397 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +375 -0
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +479 -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/credential_list/credential.rb +395 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +419 -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/domain.rb +570 -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/sip/ip_access_control_list.rb +424 -0
- data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +174 -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/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/record.rb +418 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +507 -0
- data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +127 -0
- data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +161 -0
- data/lib/twilio-ruby/rest/api/v2010/account.rb +1098 -0
- data/lib/twilio-ruby/rest/api/v2010.rb +147 -0
- data/lib/twilio-ruby/rest/api.rb +234 -0
- data/lib/twilio-ruby/rest/chat/v1/credential.rb +403 -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/channel.rb +554 -0
- data/lib/twilio-ruby/rest/chat/v1/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/chat/v1/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/chat/v1/service.rb +935 -0
- data/lib/twilio-ruby/rest/chat/v1.rb +56 -0
- data/lib/twilio-ruby/rest/chat/v2/credential.rb +403 -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/channel.rb +554 -0
- data/lib/twilio-ruby/rest/chat/v2/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/chat/v2/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/chat/v2/service.rb +688 -0
- data/lib/twilio-ruby/rest/chat/v2.rb +56 -0
- data/lib/twilio-ruby/rest/chat.rb +59 -0
- data/lib/twilio-ruby/rest/client.rb +307 -215
- data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +403 -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/channel.rb +554 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +935 -0
- data/lib/twilio-ruby/rest/ip_messaging/v1.rb +56 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +403 -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/channel.rb +554 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +396 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +244 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +467 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +688 -0
- data/lib/twilio-ruby/rest/ip_messaging/v2.rb +56 -0
- data/lib/twilio-ruby/rest/ip_messaging.rb +59 -0
- data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +224 -0
- data/lib/twilio-ruby/rest/lookups/v1.rb +41 -0
- data/lib/twilio-ruby/rest/lookups.rb +44 -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/monitor/v1.rb +56 -0
- data/lib/twilio-ruby/rest/monitor.rb +52 -0
- data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +291 -0
- data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +129 -0
- data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +284 -0
- data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +129 -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/pricing/v1/voice.rb +150 -0
- data/lib/twilio-ruby/rest/pricing/v1.rb +65 -0
- data/lib/twilio-ruby/rest/pricing.rb +54 -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/reservation.rb +461 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +584 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +315 -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/task_queue.rb +527 -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/worker.rb +585 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +475 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +212 -0
- data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +712 -0
- data/lib/twilio-ruby/rest/taskrouter/v1.rb +41 -0
- data/lib/twilio-ruby/rest/taskrouter.rb +44 -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/trunking/v1/trunk.rb +577 -0
- data/lib/twilio-ruby/rest/trunking/v1.rb +41 -0
- data/lib/twilio-ruby/rest/trunking.rb +44 -0
- data/lib/twilio-ruby/rest/video/v1/recording.rb +382 -0
- data/lib/twilio-ruby/rest/video/v1/room/recording.rb +381 -0
- data/lib/twilio-ruby/rest/video/v1/room.rb +485 -0
- data/lib/twilio-ruby/rest/video/v1.rb +56 -0
- data/lib/twilio-ruby/rest/video.rb +52 -0
- data/lib/twilio-ruby/security/request_validator.rb +54 -0
- 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/configuration.rb +7 -0
- data/lib/twilio-ruby/util.rb +1 -1
- data/lib/twilio-ruby/version.rb +1 -1
- data/lib/twilio-ruby.rb +52 -49
- 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/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/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/monitor/v1/alert_spec.rb +161 -0
- data/spec/integration/monitor/v1/event_spec.rb +148 -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/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/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 +106 -0
- data/spec/security/request_validator_spec.rb +113 -0
- data/spec/spec_helper.rb +29 -3
- data/spec/support/fakeweb.rb +2 -0
- data/spec/twilio_spec.rb +15 -0
- data/spec/twiml/messaging_response_spec.rb +90 -0
- data/spec/twiml/voice_response_spec.rb +474 -0
- data/spec/util/configuration_spec.rb +15 -0
- data/spec/util/url_encode_spec.rb +2 -2
- data/twilio-ruby.gemspec +32 -26
- metadata +502 -152
- data/CHANGES +0 -47
- 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 -91
- data/docs/index.rst +0 -109
- 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/applications.rst +0 -108
- data/docs/usage/basics.rst +0 -102
- data/docs/usage/caller-ids.rst +0 -45
- data/docs/usage/conferences.rst +0 -108
- data/docs/usage/errors.rst +0 -29
- data/docs/usage/messages.rst +0 -109
- data/docs/usage/notifications.rst +0 -70
- data/docs/usage/phone-calls.rst +0 -166
- data/docs/usage/phone-numbers.rst +0 -174
- data/docs/usage/queues.rst +0 -112
- data/docs/usage/recordings.rst +0 -96
- data/docs/usage/sip.rst +0 -103
- data/docs/usage/token-generation.rst +0 -81
- data/docs/usage/transcriptions.rst +0 -31
- data/docs/usage/twiml.rst +0 -69
- data/docs/usage/validation.rst +0 -71
- 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/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/available_phone_numbers.rb +0 -13
- data/lib/twilio-ruby/rest/calls.rb +0 -28
- data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
- data/lib/twilio-ruby/rest/conferences.rb +0 -12
- 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/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/incoming_phone_numbers.rb +0 -17
- data/lib/twilio-ruby/rest/instance_resource.rb +0 -101
- data/lib/twilio-ruby/rest/list_resource.rb +0 -110
- data/lib/twilio-ruby/rest/media.rb +0 -14
- data/lib/twilio-ruby/rest/messages.rb +0 -17
- 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/queues/members.rb +0 -29
- data/lib/twilio-ruby/rest/queues.rb +0 -12
- data/lib/twilio-ruby/rest/recordings.rb +0 -35
- data/lib/twilio-ruby/rest/sandbox.rb +0 -5
- data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
- data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
- 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/domains.rb +0 -12
- data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
- data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
- data/lib/twilio-ruby/rest/sip.rb +0 -12
- data/lib/twilio-ruby/rest/sms/messages.rb +0 -15
- data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
- data/lib/twilio-ruby/rest/sms.rb +0 -11
- data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
- 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/usage.rb +0 -10
- data/lib/twilio-ruby/rest/utils.rb +0 -25
- data/lib/twilio-ruby/twiml/response.rb +0 -15
- data/lib/twilio-ruby/util/capability.rb +0 -61
- data/lib/twilio-ruby/util/request_validator.rb +0 -22
- data/spec/rest/account_spec.rb +0 -58
- data/spec/rest/call_spec.rb +0 -18
- data/spec/rest/client_spec.rb +0 -100
- data/spec/rest/conference_spec.rb +0 -9
- data/spec/rest/instance_resource_spec.rb +0 -15
- data/spec/rest/message_spec.rb +0 -12
- data/spec/rest/numbers_spec.rb +0 -46
- data/spec/rest/queue_spec.rb +0 -9
- data/spec/rest/recording_spec.rb +0 -9
- data/spec/util/capability_spec.rb +0 -137
- data/spec/util/request_validator_spec.rb +0 -65
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This code was generated by
|
|
3
|
+
# \ / _ _ _| _ _
|
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
5
|
+
# / /
|
|
6
|
+
|
|
7
|
+
module Twilio
|
|
8
|
+
module REST
|
|
9
|
+
class Chat
|
|
10
|
+
class V2 < Version
|
|
11
|
+
##
|
|
12
|
+
# Initialize the V2 version of Chat
|
|
13
|
+
def initialize(domain)
|
|
14
|
+
super
|
|
15
|
+
@version = 'v2'
|
|
16
|
+
@credentials = nil
|
|
17
|
+
@services = nil
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
##
|
|
21
|
+
# @param [String] sid The sid
|
|
22
|
+
# @return [Twilio::REST::Chat::V2::CredentialInstance] if sid was passed.
|
|
23
|
+
# @return [Twilio::REST::Chat::V2::CredentialList]
|
|
24
|
+
def credentials(sid=:unset)
|
|
25
|
+
if sid.nil?
|
|
26
|
+
raise ArgumentError, 'sid cannot be nil'
|
|
27
|
+
elsif sid == :unset
|
|
28
|
+
@credentials ||= CredentialList.new self
|
|
29
|
+
else
|
|
30
|
+
CredentialContext.new(self, sid)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
##
|
|
35
|
+
# @param [String] sid The sid
|
|
36
|
+
# @return [Twilio::REST::Chat::V2::ServiceInstance] if sid was passed.
|
|
37
|
+
# @return [Twilio::REST::Chat::V2::ServiceList]
|
|
38
|
+
def services(sid=:unset)
|
|
39
|
+
if sid.nil?
|
|
40
|
+
raise ArgumentError, 'sid cannot be nil'
|
|
41
|
+
elsif sid == :unset
|
|
42
|
+
@services ||= ServiceList.new self
|
|
43
|
+
else
|
|
44
|
+
ServiceContext.new(self, sid)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
##
|
|
49
|
+
# Provide a user friendly representation
|
|
50
|
+
def to_s
|
|
51
|
+
'<Twilio::REST::Chat::V2>'
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This code was generated by
|
|
3
|
+
# \ / _ _ _| _ _
|
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
5
|
+
# / /
|
|
6
|
+
|
|
7
|
+
module Twilio
|
|
8
|
+
module REST
|
|
9
|
+
class Chat < Domain
|
|
10
|
+
##
|
|
11
|
+
# Initialize the Chat Domain
|
|
12
|
+
def initialize(twilio)
|
|
13
|
+
super
|
|
14
|
+
|
|
15
|
+
@base_url = 'https://chat.twilio.com'
|
|
16
|
+
@host = 'chat.twilio.com'
|
|
17
|
+
@port = 443
|
|
18
|
+
|
|
19
|
+
# Versions
|
|
20
|
+
@v1 = nil
|
|
21
|
+
@v2 = nil
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
##
|
|
25
|
+
# Version v1 of chat
|
|
26
|
+
def v1
|
|
27
|
+
@v1 ||= V1.new self
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
##
|
|
31
|
+
# Version v2 of chat
|
|
32
|
+
def v2
|
|
33
|
+
@v2 ||= V2.new self
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
##
|
|
37
|
+
# @param [String] sid The sid
|
|
38
|
+
# @return [Twilio::REST::Chat::V2::CredentialInstance] if sid was passed.
|
|
39
|
+
# @return [Twilio::REST::Chat::V2::CredentialList]
|
|
40
|
+
def credentials(sid=:unset)
|
|
41
|
+
self.v2.credentials(sid)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
##
|
|
45
|
+
# @param [String] sid The sid
|
|
46
|
+
# @return [Twilio::REST::Chat::V2::ServiceInstance] if sid was passed.
|
|
47
|
+
# @return [Twilio::REST::Chat::V2::ServiceList]
|
|
48
|
+
def services(sid=:unset)
|
|
49
|
+
self.v2.services(sid)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
##
|
|
53
|
+
# Provide a user friendly representation
|
|
54
|
+
def to_s
|
|
55
|
+
'#<Twilio::REST::Chat>'
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -1,235 +1,327 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This code was generated by
|
|
3
|
+
# \ / _ _ _| _ _
|
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
5
|
+
# / /
|
|
6
|
+
|
|
1
7
|
module Twilio
|
|
2
8
|
module REST
|
|
3
9
|
##
|
|
4
|
-
#
|
|
5
|
-
# exposes methods to make HTTP requests to Twilio's REST API. However, you
|
|
6
|
-
# should never really need to call these methods yourself since you can
|
|
7
|
-
# work with the more pleasant wrapper objects like Twilio::REST::Call.
|
|
8
|
-
#
|
|
9
|
-
# Instantiate a client like so:
|
|
10
|
-
#
|
|
11
|
-
# @client = Twilio::REST::Client.new account_sid, auth_token
|
|
12
|
-
#
|
|
13
|
-
# There are a few options you can use to configure the way your client will
|
|
14
|
-
# communicate with Twilio. See #new for a list and descriptions.
|
|
15
|
-
#
|
|
16
|
-
# Once you have a client object you can use it to do fun things. Every
|
|
17
|
-
# client object exposes two wrapper objects which you can use as entry
|
|
18
|
-
# points into Twilio: +account+ and +accounts+.
|
|
19
|
-
#
|
|
20
|
-
# ==== @client.account
|
|
21
|
-
#
|
|
22
|
-
# Most of the time you'll want to start with the +account+ attribute. This
|
|
23
|
-
# object is an instance of Twilio::REST::Account that wraps the account
|
|
24
|
-
# referenced by the +account_sid+ you used when instantiating the client.
|
|
25
|
-
#
|
|
26
|
-
# An instance of Twilio::REST::Account exposes objects wrapping all of the
|
|
27
|
-
# account-level Twilio resources as properties. So
|
|
28
|
-
#
|
|
29
|
-
# @client.account.calls
|
|
30
|
-
#
|
|
31
|
-
# represents an account's call list.
|
|
32
|
-
#
|
|
33
|
-
# ==== @client.accounts
|
|
34
|
-
#
|
|
35
|
-
# If you are doing anything related to subaccounts you'll want to start
|
|
36
|
-
# here. This object is an instance of Twilio::REST::Accounts that wraps
|
|
37
|
-
# the list of accounts belonging to the master account referenced by
|
|
38
|
-
# the +account_sid+ used to instantiate the client.
|
|
39
|
-
#
|
|
40
|
-
# This class inherits from Twilio::REST::ListResource, so you can use
|
|
41
|
-
# methods like ListResource#list to return a (possibly filtered) list of
|
|
42
|
-
# accounts and ListResource#create to create a new account. Use
|
|
43
|
-
# ListResource#get to grab a particular account once you know its sid.
|
|
10
|
+
# A client for accessing the Twilio API.
|
|
44
11
|
class Client
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
# === <tt>:port => 443</tt>
|
|
89
|
-
#
|
|
90
|
-
# The port on which to connect to the above domain. Defaults to 443 and
|
|
91
|
-
# should be left that way except in testing environments.
|
|
92
|
-
#
|
|
93
|
-
# === <tt>:use_ssl => true</tt>
|
|
94
|
-
#
|
|
95
|
-
# Declare whether ssl should be used for connections to the above domain.
|
|
96
|
-
# Defaults to true and should be left alone except when testing.
|
|
97
|
-
#
|
|
98
|
-
# === <tt>:ssl_verify_peer => true</tt>
|
|
99
|
-
#
|
|
100
|
-
# Declare whether to verify the host's ssl cert when setting up the
|
|
101
|
-
# connection to the above domain. Defaults to true, but can be turned off
|
|
102
|
-
# to avoid ssl certificate verification failures in environments without
|
|
103
|
-
# the necessary ca certificates.
|
|
104
|
-
#
|
|
105
|
-
# === <tt>:ssl_ca_file => '/path/to/ca/file'</tt>
|
|
106
|
-
#
|
|
107
|
-
# Specify the path to the certificate authority bundle you'd like to use
|
|
108
|
-
# to verify Twilio's SSL certificate on each request. If not specified, a
|
|
109
|
-
# certificate bundle extraced from Firefox is packaged with the gem and
|
|
110
|
-
# used by default.
|
|
111
|
-
#
|
|
112
|
-
# === <tt>:timeout => 30</tt>
|
|
113
|
-
#
|
|
114
|
-
# Set the time in seconds to wait before timing out the HTTP request.
|
|
115
|
-
# Defaults to 30 seconds. If you aren't fetching giant pages of call or
|
|
116
|
-
# SMS logs you can safely decrease this to something like 3 seconds or
|
|
117
|
-
# lower. In paricular if you are sending SMS you can set this to 1 second
|
|
118
|
-
# or less and swallow the exception if you don't care about the response.
|
|
119
|
-
#
|
|
120
|
-
# === <tt>:proxy_addr => 'proxy.host.domain'</tt>
|
|
121
|
-
#
|
|
122
|
-
# The domain of a proxy through which you'd like the client to make HTTP
|
|
123
|
-
# requests. Defaults to nil.
|
|
124
|
-
#
|
|
125
|
-
# === <tt>:proxy_port => 3128</tt>
|
|
126
|
-
#
|
|
127
|
-
# The port on which to connect to the above proxy. Defaults to nil.
|
|
128
|
-
#
|
|
129
|
-
# === <tt>:proxy_user => 'username'</tt>
|
|
130
|
-
#
|
|
131
|
-
# The user name to use for authentication with the proxy. Defaults to nil.
|
|
132
|
-
#
|
|
133
|
-
# === <tt>:proxy_pass => 'password'</tt>
|
|
134
|
-
#
|
|
135
|
-
# The password to use for authentication with the proxy. Defaults to nil.
|
|
136
|
-
#
|
|
137
|
-
# === <tt>:retry_limit => 1</tt>
|
|
138
|
-
#
|
|
139
|
-
# The number of times to retry a request that has failed before throwing
|
|
140
|
-
# an exception. Defaults to one.
|
|
141
|
-
def initialize(account_sid, auth_token, options={})
|
|
142
|
-
@account_sid, @auth_token = account_sid.strip, auth_token.strip
|
|
143
|
-
@config = DEFAULTS.merge! options
|
|
144
|
-
set_up_connection
|
|
145
|
-
set_up_subresources
|
|
146
|
-
end
|
|
147
|
-
|
|
148
|
-
def inspect # :nodoc:
|
|
149
|
-
"<Twilio::REST::Client @account_sid=#{@account_sid}>"
|
|
150
|
-
end
|
|
151
|
-
|
|
152
|
-
##
|
|
153
|
-
# Define #get, #put, #post and #delete helper methods for sending HTTP
|
|
154
|
-
# requests to Twilio. You shouldn't need to use these methods directly,
|
|
155
|
-
# but they can be useful for debugging. Each method returns a hash
|
|
156
|
-
# obtained from parsing the JSON object in the response body.
|
|
157
|
-
[:get, :put, :post, :delete].each do |method|
|
|
158
|
-
method_class = Net::HTTP.const_get method.to_s.capitalize
|
|
159
|
-
define_method method do |path, *args|
|
|
160
|
-
params = twilify args[0]; params = {} if params.empty?
|
|
161
|
-
unless args[1] # build the full path unless already given
|
|
162
|
-
path = "#{path}.json"
|
|
163
|
-
path << "?#{url_encode(params)}" if method == :get && !params.empty?
|
|
164
|
-
end
|
|
165
|
-
request = method_class.new path, HTTP_HEADERS
|
|
166
|
-
request.basic_auth @account_sid, @auth_token
|
|
167
|
-
request.form_data = params if [:post, :put].include? method
|
|
168
|
-
connect_and_send request
|
|
12
|
+
attr_accessor :http_client, :username, :password, :account_sid, :auth_token, :region
|
|
13
|
+
|
|
14
|
+
##
|
|
15
|
+
# Initializes the Twilio Client
|
|
16
|
+
def initialize(username=nil, password=nil, account_sid=nil, region=nil, http_client=Twilio::HTTP::Client.new)
|
|
17
|
+
@username = username || Twilio.account_sid
|
|
18
|
+
@password = password || Twilio.auth_token
|
|
19
|
+
@region = region
|
|
20
|
+
@account_sid = account_sid || @username
|
|
21
|
+
@auth_token = @password
|
|
22
|
+
@auth = [@username, @password]
|
|
23
|
+
@http_client = http_client
|
|
24
|
+
|
|
25
|
+
# Domains
|
|
26
|
+
@accounts = nil
|
|
27
|
+
@api = nil
|
|
28
|
+
@chat = nil
|
|
29
|
+
@ip_messaging = nil
|
|
30
|
+
@lookups = nil
|
|
31
|
+
@monitor = nil
|
|
32
|
+
@pricing = nil
|
|
33
|
+
@taskrouter = nil
|
|
34
|
+
@trunking = nil
|
|
35
|
+
@video = nil
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
##
|
|
39
|
+
# Makes a request to the Twilio API using the configured http client
|
|
40
|
+
# Authentication information is automatically added if none is provided
|
|
41
|
+
def request(host, port, method, uri, params={}, data={}, headers={}, auth=nil, timeout=nil)
|
|
42
|
+
auth ||= @auth
|
|
43
|
+
|
|
44
|
+
headers['User-Agent'] = "twilio-ruby/#{Twilio::VERSION}" +
|
|
45
|
+
" (#{RUBY_ENGINE}/#{RUBY_PLATFORM}" +
|
|
46
|
+
" #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL})"
|
|
47
|
+
headers['Accept-Charset'] = 'utf-8'
|
|
48
|
+
|
|
49
|
+
if method == 'POST' && !headers['Content-Type']
|
|
50
|
+
headers['Content-Type'] = 'application/x-www-form-urlencoded'
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
unless headers['Accept']
|
|
54
|
+
headers['Accept'] = 'application/json'
|
|
169
55
|
end
|
|
56
|
+
|
|
57
|
+
if !region.nil?
|
|
58
|
+
head, tail = uri.split('.', 2)
|
|
59
|
+
if !tail.start_with?(region)
|
|
60
|
+
uri = [head, region, tail].join('.')
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
@http_client.request(
|
|
65
|
+
host,
|
|
66
|
+
port,
|
|
67
|
+
method,
|
|
68
|
+
uri,
|
|
69
|
+
params,
|
|
70
|
+
data,
|
|
71
|
+
headers,
|
|
72
|
+
auth,
|
|
73
|
+
timeout
|
|
74
|
+
)
|
|
170
75
|
end
|
|
171
76
|
|
|
172
|
-
|
|
77
|
+
##
|
|
78
|
+
# Access the Accounts Twilio Domain
|
|
79
|
+
def accounts
|
|
80
|
+
@accounts ||= Accounts.new self
|
|
81
|
+
end
|
|
173
82
|
|
|
174
83
|
##
|
|
175
|
-
#
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
connection_class = Net::HTTP::Proxy @config[:proxy_addr],
|
|
179
|
-
@config[:proxy_port], @config[:proxy_user], @config[:proxy_pass]
|
|
180
|
-
@connection = connection_class.new @config[:host], @config[:port]
|
|
181
|
-
set_up_ssl
|
|
182
|
-
@connection.open_timeout = @config[:timeout]
|
|
183
|
-
@connection.read_timeout = @config[:timeout]
|
|
84
|
+
# Access the Api Twilio Domain
|
|
85
|
+
def api
|
|
86
|
+
@api ||= Api.new self
|
|
184
87
|
end
|
|
185
|
-
|
|
88
|
+
|
|
186
89
|
##
|
|
187
|
-
#
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
@connection.use_ssl = @config[:use_ssl]
|
|
191
|
-
if @config[:ssl_verify_peer]
|
|
192
|
-
@connection.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
|
193
|
-
@connection.ca_file = @config[:ssl_ca_file]
|
|
194
|
-
else
|
|
195
|
-
@connection.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
|
196
|
-
end
|
|
90
|
+
# Access the Chat Twilio Domain
|
|
91
|
+
def chat
|
|
92
|
+
@chat ||= Chat.new self
|
|
197
93
|
end
|
|
198
94
|
|
|
199
95
|
##
|
|
200
|
-
#
|
|
201
|
-
def
|
|
202
|
-
@
|
|
203
|
-
@account = @accounts.get @account_sid
|
|
96
|
+
# Access the IpMessaging Twilio Domain
|
|
97
|
+
def ip_messaging
|
|
98
|
+
@ip_messaging ||= IpMessaging.new self
|
|
204
99
|
end
|
|
205
100
|
|
|
206
101
|
##
|
|
207
|
-
#
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
102
|
+
# Access the Lookups Twilio Domain
|
|
103
|
+
def lookups
|
|
104
|
+
@lookups ||= Lookups.new self
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
##
|
|
108
|
+
# Access the Monitor Twilio Domain
|
|
109
|
+
def monitor
|
|
110
|
+
@monitor ||= Monitor.new self
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
##
|
|
114
|
+
# Access the Pricing Twilio Domain
|
|
115
|
+
def pricing
|
|
116
|
+
@pricing ||= Pricing.new self
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
##
|
|
120
|
+
# Access the Taskrouter Twilio Domain
|
|
121
|
+
def taskrouter
|
|
122
|
+
@taskrouter ||= Taskrouter.new self
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
##
|
|
126
|
+
# Access the Trunking Twilio Domain
|
|
127
|
+
def trunking
|
|
128
|
+
@trunking ||= Trunking.new self
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
##
|
|
132
|
+
# Access the Video Twilio Domain
|
|
133
|
+
def video
|
|
134
|
+
@video ||= Video.new self
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
##
|
|
138
|
+
# @param [String] sid The sid
|
|
139
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::AddressInstance] if sid was passed.
|
|
140
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::AddressList]
|
|
141
|
+
def addresses(sid=:unset)
|
|
142
|
+
self.api.v2010.account.addresses(sid)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
##
|
|
146
|
+
# @param [String] sid A 34 character string that uniquely identifies this
|
|
147
|
+
# resource.
|
|
148
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::ApplicationInstance] if sid was passed.
|
|
149
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::ApplicationList]
|
|
150
|
+
def applications(sid=:unset)
|
|
151
|
+
self.api.v2010.account.applications(sid)
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
##
|
|
155
|
+
# @param [String] connect_app_sid The unique id of the Connect App that was
|
|
156
|
+
# authorized.
|
|
157
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::AuthorizedConnectAppInstance] if connect_app_sid was passed.
|
|
158
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::AuthorizedConnectAppList]
|
|
159
|
+
def authorized_connect_apps(connect_app_sid=:unset)
|
|
160
|
+
self.api.v2010.account.authorized_connect_apps(connect_app_sid)
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
##
|
|
164
|
+
# @param [String] country_code The ISO Country code to lookup phone numbers for.
|
|
165
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::AvailablePhoneNumberCountryInstance] if country_code was passed.
|
|
166
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::AvailablePhoneNumberCountryList]
|
|
167
|
+
def available_phone_numbers(country_code=:unset)
|
|
168
|
+
self.api.v2010.account.available_phone_numbers(country_code)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
##
|
|
172
|
+
# @param [String] sid A 34 character string that uniquely identifies this
|
|
173
|
+
# resource.
|
|
174
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::CallInstance] if sid was passed.
|
|
175
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::CallList]
|
|
176
|
+
def calls(sid=:unset)
|
|
177
|
+
self.api.v2010.account.calls(sid)
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
##
|
|
181
|
+
# @param [String] sid A 34 character string that uniquely identifies this
|
|
182
|
+
# conference.
|
|
183
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::ConferenceInstance] if sid was passed.
|
|
184
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::ConferenceList]
|
|
185
|
+
def conferences(sid=:unset)
|
|
186
|
+
self.api.v2010.account.conferences(sid)
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
##
|
|
190
|
+
# @param [String] sid The unique id of this Connect App.
|
|
191
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::ConnectAppInstance] if sid was passed.
|
|
192
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::ConnectAppList]
|
|
193
|
+
def connect_apps(sid=:unset)
|
|
194
|
+
self.api.v2010.account.connect_apps(sid)
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
##
|
|
198
|
+
# @param [String] sid A 34 character string that uniquely identifies this
|
|
199
|
+
# resource.
|
|
200
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::IncomingPhoneNumberInstance] if sid was passed.
|
|
201
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::IncomingPhoneNumberList]
|
|
202
|
+
def incoming_phone_numbers(sid=:unset)
|
|
203
|
+
self.api.v2010.account.incoming_phone_numbers(sid)
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
##
|
|
207
|
+
# @param [String] sid The sid
|
|
208
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::KeyInstance] if sid was passed.
|
|
209
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::KeyList]
|
|
210
|
+
def keys(sid=:unset)
|
|
211
|
+
self.api.v2010.account.keys(sid)
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
##
|
|
215
|
+
# @param [String] sid A 34 character string that uniquely identifies this
|
|
216
|
+
# resource.
|
|
217
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::MessageInstance] if sid was passed.
|
|
218
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::MessageList]
|
|
219
|
+
def messages(sid=:unset)
|
|
220
|
+
self.api.v2010.account.messages(sid)
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
##
|
|
224
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::NewKeyInstance]
|
|
225
|
+
def new_keys
|
|
226
|
+
self.api.v2010.account.new_keys
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
##
|
|
230
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::NewSigningKeyInstance]
|
|
231
|
+
def new_signing_keys
|
|
232
|
+
self.api.v2010.account.new_signing_keys
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
##
|
|
236
|
+
# @param [String] sid A 34 character string that uniquely identifies this
|
|
237
|
+
# resource.
|
|
238
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::NotificationInstance] if sid was passed.
|
|
239
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::NotificationList]
|
|
240
|
+
def notifications(sid=:unset)
|
|
241
|
+
self.api.v2010.account.notifications(sid)
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
##
|
|
245
|
+
# @param [String] sid A 34 character string that uniquely identifies this
|
|
246
|
+
# resource.
|
|
247
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::OutgoingCallerIdInstance] if sid was passed.
|
|
248
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::OutgoingCallerIdList]
|
|
249
|
+
def outgoing_caller_ids(sid=:unset)
|
|
250
|
+
self.api.v2010.account.outgoing_caller_ids(sid)
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
##
|
|
254
|
+
# @param [String] sid A 34 character string that uniquely identifies this queue.
|
|
255
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::QueueInstance] if sid was passed.
|
|
256
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::QueueList]
|
|
257
|
+
def queues(sid=:unset)
|
|
258
|
+
self.api.v2010.account.queues(sid)
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
##
|
|
262
|
+
# @param [String] sid A 34 character string that uniquely identifies this
|
|
263
|
+
# resource.
|
|
264
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::RecordingInstance] if sid was passed.
|
|
265
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::RecordingList]
|
|
266
|
+
def recordings(sid=:unset)
|
|
267
|
+
self.api.v2010.account.recordings(sid)
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
##
|
|
271
|
+
# @param [String] sid The sid
|
|
272
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::SigningKeyInstance] if sid was passed.
|
|
273
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::SigningKeyList]
|
|
274
|
+
def signing_keys(sid=:unset)
|
|
275
|
+
self.api.v2010.account.signing_keys(sid)
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
##
|
|
279
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::SipInstance]
|
|
280
|
+
def sip
|
|
281
|
+
self.api.v2010.account.sip
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
##
|
|
285
|
+
# @param [String] sid A 34 character string that uniquely identifies this
|
|
286
|
+
# resource.
|
|
287
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::ShortCodeInstance] if sid was passed.
|
|
288
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::ShortCodeList]
|
|
289
|
+
def short_codes(sid=:unset)
|
|
290
|
+
self.api.v2010.account.short_codes(sid)
|
|
291
|
+
end
|
|
292
|
+
|
|
293
|
+
##
|
|
294
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::TokenInstance]
|
|
295
|
+
def tokens
|
|
296
|
+
self.api.v2010.account.tokens
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
##
|
|
300
|
+
# @param [String] sid A 34 character string that uniquely identifies this
|
|
301
|
+
# resource.
|
|
302
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::TranscriptionInstance] if sid was passed.
|
|
303
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::TranscriptionList]
|
|
304
|
+
def transcriptions(sid=:unset)
|
|
305
|
+
self.api.v2010.account.transcriptions(sid)
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
##
|
|
309
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::UsageInstance]
|
|
310
|
+
def usage
|
|
311
|
+
self.api.v2010.account.usage
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
##
|
|
315
|
+
# @return [Twilio::REST::Api::V2010::AccountContext::ValidationRequestInstance]
|
|
316
|
+
def validation_requests
|
|
317
|
+
self.api.v2010.account.validation_requests
|
|
318
|
+
end
|
|
319
|
+
|
|
320
|
+
##
|
|
321
|
+
# Provide a user friendly representation
|
|
322
|
+
def to_s
|
|
323
|
+
"#<Twilio::REST::Client #{@account_sid}>"
|
|
232
324
|
end
|
|
233
325
|
end
|
|
234
326
|
end
|
|
235
|
-
end
|
|
327
|
+
end
|