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,712 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This code was generated by
|
|
3
|
+
# \ / _ _ _| _ _
|
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
5
|
+
# / /
|
|
6
|
+
|
|
7
|
+
module Twilio
|
|
8
|
+
module REST
|
|
9
|
+
class Taskrouter < Domain
|
|
10
|
+
class V1 < Version
|
|
11
|
+
class WorkspaceList < ListResource
|
|
12
|
+
##
|
|
13
|
+
# Initialize the WorkspaceList
|
|
14
|
+
# @param [Version] version Version that contains the resource
|
|
15
|
+
# @return [WorkspaceList] WorkspaceList
|
|
16
|
+
def initialize(version)
|
|
17
|
+
super(version)
|
|
18
|
+
|
|
19
|
+
# Path Solution
|
|
20
|
+
@solution = {}
|
|
21
|
+
@uri = "/Workspaces"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
##
|
|
25
|
+
# Lists WorkspaceInstance records from the API as a list.
|
|
26
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
27
|
+
# memory before returning.
|
|
28
|
+
# @param [String] friendly_name The friendly_name
|
|
29
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
30
|
+
# guarantees to never return more than limit. Default is no limit
|
|
31
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
32
|
+
# the default value of 50 records. If no page_size is defined
|
|
33
|
+
# but a limit is defined, stream() will attempt to read the
|
|
34
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
35
|
+
# @return [Array] Array of up to limit results
|
|
36
|
+
def list(friendly_name: :unset, limit: nil, page_size: nil)
|
|
37
|
+
self.stream(
|
|
38
|
+
friendly_name: friendly_name,
|
|
39
|
+
limit: limit,
|
|
40
|
+
page_size: page_size
|
|
41
|
+
).entries
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
##
|
|
45
|
+
# Streams WorkspaceInstance records from the API as an Enumerable.
|
|
46
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
47
|
+
# is reached.
|
|
48
|
+
# @param [String] friendly_name The friendly_name
|
|
49
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
50
|
+
# guarantees to never return more than limit. Default is no limit
|
|
51
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
52
|
+
# the default value of 50 records. If no page_size is defined
|
|
53
|
+
# but a limit is defined, stream() will attempt to read the
|
|
54
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
55
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
56
|
+
def stream(friendly_name: :unset, limit: nil, page_size: nil)
|
|
57
|
+
limits = @version.read_limits(limit, page_size)
|
|
58
|
+
|
|
59
|
+
page = self.page(
|
|
60
|
+
friendly_name: friendly_name,
|
|
61
|
+
page_size: limits[:page_size],
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
##
|
|
68
|
+
# When passed a block, yields WorkspaceInstance records from the API.
|
|
69
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
70
|
+
# is reached.
|
|
71
|
+
def each
|
|
72
|
+
limits = @version.read_limits
|
|
73
|
+
|
|
74
|
+
page = self.page(
|
|
75
|
+
page_size: limits[:page_size],
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
@version.stream(page,
|
|
79
|
+
limit: limits[:limit],
|
|
80
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
##
|
|
84
|
+
# Retrieve a single page of WorkspaceInstance records from the API.
|
|
85
|
+
# Request is executed immediately.
|
|
86
|
+
# @param [String] friendly_name The friendly_name
|
|
87
|
+
# @param [String] page_token PageToken provided by the API
|
|
88
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
89
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
90
|
+
# @return [Page] Page of WorkspaceInstance
|
|
91
|
+
def page(friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
|
92
|
+
params = Twilio::Values.of({
|
|
93
|
+
'FriendlyName' => friendly_name,
|
|
94
|
+
'PageToken' => page_token,
|
|
95
|
+
'Page' => page_number,
|
|
96
|
+
'PageSize' => page_size,
|
|
97
|
+
})
|
|
98
|
+
response = @version.page(
|
|
99
|
+
'GET',
|
|
100
|
+
@uri,
|
|
101
|
+
params
|
|
102
|
+
)
|
|
103
|
+
WorkspacePage.new(@version, response, @solution)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
##
|
|
107
|
+
# Retrieve a single page of WorkspaceInstance records from the API.
|
|
108
|
+
# Request is executed immediately.
|
|
109
|
+
# @param [String] target_url API-generated URL for the requested results page
|
|
110
|
+
# @return [Page] Page of WorkspaceInstance
|
|
111
|
+
def get_page(target_url)
|
|
112
|
+
response = @version.domain.request(
|
|
113
|
+
'GET',
|
|
114
|
+
target_url
|
|
115
|
+
)
|
|
116
|
+
WorkspacePage.new(@version, response, @solution)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
##
|
|
120
|
+
# Retrieve a single page of WorkspaceInstance records from the API.
|
|
121
|
+
# Request is executed immediately.
|
|
122
|
+
# @param [String] friendly_name The friendly_name
|
|
123
|
+
# @param [String] event_callback_url The event_callback_url
|
|
124
|
+
# @param [String] events_filter The events_filter
|
|
125
|
+
# @param [Boolean] multi_task_enabled The multi_task_enabled
|
|
126
|
+
# @param [String] template The template
|
|
127
|
+
# @param [workspace.QueueOrder] prioritize_queue_order The prioritize_queue_order
|
|
128
|
+
# @return [WorkspaceInstance] Newly created WorkspaceInstance
|
|
129
|
+
def create(friendly_name: nil, event_callback_url: :unset, events_filter: :unset, multi_task_enabled: :unset, template: :unset, prioritize_queue_order: :unset)
|
|
130
|
+
data = Twilio::Values.of({
|
|
131
|
+
'FriendlyName' => friendly_name,
|
|
132
|
+
'EventCallbackUrl' => event_callback_url,
|
|
133
|
+
'EventsFilter' => events_filter,
|
|
134
|
+
'MultiTaskEnabled' => multi_task_enabled,
|
|
135
|
+
'Template' => template,
|
|
136
|
+
'PrioritizeQueueOrder' => prioritize_queue_order,
|
|
137
|
+
})
|
|
138
|
+
|
|
139
|
+
payload = @version.create(
|
|
140
|
+
'POST',
|
|
141
|
+
@uri,
|
|
142
|
+
data: data
|
|
143
|
+
)
|
|
144
|
+
|
|
145
|
+
WorkspaceInstance.new(
|
|
146
|
+
@version,
|
|
147
|
+
payload,
|
|
148
|
+
)
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
##
|
|
152
|
+
# Provide a user friendly representation
|
|
153
|
+
def to_s
|
|
154
|
+
'#<Twilio.Taskrouter.V1.WorkspaceList>'
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
class WorkspacePage < Page
|
|
159
|
+
##
|
|
160
|
+
# Initialize the WorkspacePage
|
|
161
|
+
# @param [Version] version Version that contains the resource
|
|
162
|
+
# @param [Response] response Response from the API
|
|
163
|
+
# @param [Hash] solution Path solution for the resource
|
|
164
|
+
# @return [WorkspacePage] WorkspacePage
|
|
165
|
+
def initialize(version, response, solution)
|
|
166
|
+
super(version, response)
|
|
167
|
+
|
|
168
|
+
# Path Solution
|
|
169
|
+
@solution = solution
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
##
|
|
173
|
+
# Build an instance of WorkspaceInstance
|
|
174
|
+
# @param [Hash] payload Payload response from the API
|
|
175
|
+
# @return [WorkspaceInstance] WorkspaceInstance
|
|
176
|
+
def get_instance(payload)
|
|
177
|
+
WorkspaceInstance.new(
|
|
178
|
+
@version,
|
|
179
|
+
payload,
|
|
180
|
+
)
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
##
|
|
184
|
+
# Provide a user friendly representation
|
|
185
|
+
def to_s
|
|
186
|
+
'<Twilio.Taskrouter.V1.WorkspacePage>'
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
class WorkspaceContext < InstanceContext
|
|
191
|
+
##
|
|
192
|
+
# Initialize the WorkspaceContext
|
|
193
|
+
# @param [Version] version Version that contains the resource
|
|
194
|
+
# @param [String] sid The sid
|
|
195
|
+
# @return [WorkspaceContext] WorkspaceContext
|
|
196
|
+
def initialize(version, sid)
|
|
197
|
+
super(version)
|
|
198
|
+
|
|
199
|
+
# Path Solution
|
|
200
|
+
@solution = {
|
|
201
|
+
sid: sid,
|
|
202
|
+
}
|
|
203
|
+
@uri = "/Workspaces/#{@solution[:sid]}"
|
|
204
|
+
|
|
205
|
+
# Dependents
|
|
206
|
+
@activities = nil
|
|
207
|
+
@events = nil
|
|
208
|
+
@tasks = nil
|
|
209
|
+
@task_queues = nil
|
|
210
|
+
@workers = nil
|
|
211
|
+
@workflows = nil
|
|
212
|
+
@statistics = nil
|
|
213
|
+
@task_channels = nil
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
##
|
|
217
|
+
# Fetch a WorkspaceInstance
|
|
218
|
+
# @return [WorkspaceInstance] Fetched WorkspaceInstance
|
|
219
|
+
def fetch
|
|
220
|
+
params = Twilio::Values.of({})
|
|
221
|
+
|
|
222
|
+
payload = @version.fetch(
|
|
223
|
+
'GET',
|
|
224
|
+
@uri,
|
|
225
|
+
params,
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
WorkspaceInstance.new(
|
|
229
|
+
@version,
|
|
230
|
+
payload,
|
|
231
|
+
sid: @solution[:sid],
|
|
232
|
+
)
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
##
|
|
236
|
+
# Update the WorkspaceInstance
|
|
237
|
+
# @param [String] default_activity_sid The default_activity_sid
|
|
238
|
+
# @param [String] event_callback_url The event_callback_url
|
|
239
|
+
# @param [String] events_filter The events_filter
|
|
240
|
+
# @param [String] friendly_name The friendly_name
|
|
241
|
+
# @param [Boolean] multi_task_enabled The multi_task_enabled
|
|
242
|
+
# @param [String] timeout_activity_sid The timeout_activity_sid
|
|
243
|
+
# @param [workspace.QueueOrder] prioritize_queue_order The prioritize_queue_order
|
|
244
|
+
# @return [WorkspaceInstance] Updated WorkspaceInstance
|
|
245
|
+
def update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset)
|
|
246
|
+
data = Twilio::Values.of({
|
|
247
|
+
'DefaultActivitySid' => default_activity_sid,
|
|
248
|
+
'EventCallbackUrl' => event_callback_url,
|
|
249
|
+
'EventsFilter' => events_filter,
|
|
250
|
+
'FriendlyName' => friendly_name,
|
|
251
|
+
'MultiTaskEnabled' => multi_task_enabled,
|
|
252
|
+
'TimeoutActivitySid' => timeout_activity_sid,
|
|
253
|
+
'PrioritizeQueueOrder' => prioritize_queue_order,
|
|
254
|
+
})
|
|
255
|
+
|
|
256
|
+
payload = @version.update(
|
|
257
|
+
'POST',
|
|
258
|
+
@uri,
|
|
259
|
+
data: data,
|
|
260
|
+
)
|
|
261
|
+
|
|
262
|
+
WorkspaceInstance.new(
|
|
263
|
+
@version,
|
|
264
|
+
payload,
|
|
265
|
+
sid: @solution[:sid],
|
|
266
|
+
)
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
##
|
|
270
|
+
# Deletes the WorkspaceInstance
|
|
271
|
+
# @return [Boolean] true if delete succeeds, true otherwise
|
|
272
|
+
def delete
|
|
273
|
+
@version.delete('delete', @uri)
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
##
|
|
277
|
+
# Access the activities
|
|
278
|
+
# @return [ActivityList]
|
|
279
|
+
# @return [ActivityContext] if sid was passed.
|
|
280
|
+
def activities(sid=:unset)
|
|
281
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
|
282
|
+
|
|
283
|
+
if sid != :unset
|
|
284
|
+
return ActivityContext.new(
|
|
285
|
+
@version,
|
|
286
|
+
@solution[:sid],
|
|
287
|
+
sid,
|
|
288
|
+
)
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
unless @activities
|
|
292
|
+
@activities = ActivityList.new(
|
|
293
|
+
@version,
|
|
294
|
+
workspace_sid: @solution[:sid],
|
|
295
|
+
)
|
|
296
|
+
end
|
|
297
|
+
|
|
298
|
+
@activities
|
|
299
|
+
end
|
|
300
|
+
|
|
301
|
+
##
|
|
302
|
+
# Access the events
|
|
303
|
+
# @return [EventList]
|
|
304
|
+
# @return [EventContext] if sid was passed.
|
|
305
|
+
def events(sid=:unset)
|
|
306
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
|
307
|
+
|
|
308
|
+
if sid != :unset
|
|
309
|
+
return EventContext.new(
|
|
310
|
+
@version,
|
|
311
|
+
@solution[:sid],
|
|
312
|
+
sid,
|
|
313
|
+
)
|
|
314
|
+
end
|
|
315
|
+
|
|
316
|
+
unless @events
|
|
317
|
+
@events = EventList.new(
|
|
318
|
+
@version,
|
|
319
|
+
workspace_sid: @solution[:sid],
|
|
320
|
+
)
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
@events
|
|
324
|
+
end
|
|
325
|
+
|
|
326
|
+
##
|
|
327
|
+
# Access the tasks
|
|
328
|
+
# @return [TaskList]
|
|
329
|
+
# @return [TaskContext] if sid was passed.
|
|
330
|
+
def tasks(sid=:unset)
|
|
331
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
|
332
|
+
|
|
333
|
+
if sid != :unset
|
|
334
|
+
return TaskContext.new(
|
|
335
|
+
@version,
|
|
336
|
+
@solution[:sid],
|
|
337
|
+
sid,
|
|
338
|
+
)
|
|
339
|
+
end
|
|
340
|
+
|
|
341
|
+
unless @tasks
|
|
342
|
+
@tasks = TaskList.new(
|
|
343
|
+
@version,
|
|
344
|
+
workspace_sid: @solution[:sid],
|
|
345
|
+
)
|
|
346
|
+
end
|
|
347
|
+
|
|
348
|
+
@tasks
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
##
|
|
352
|
+
# Access the task_queues
|
|
353
|
+
# @return [TaskQueueList]
|
|
354
|
+
# @return [TaskQueueContext] if sid was passed.
|
|
355
|
+
def task_queues(sid=:unset)
|
|
356
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
|
357
|
+
|
|
358
|
+
if sid != :unset
|
|
359
|
+
return TaskQueueContext.new(
|
|
360
|
+
@version,
|
|
361
|
+
@solution[:sid],
|
|
362
|
+
sid,
|
|
363
|
+
)
|
|
364
|
+
end
|
|
365
|
+
|
|
366
|
+
unless @task_queues
|
|
367
|
+
@task_queues = TaskQueueList.new(
|
|
368
|
+
@version,
|
|
369
|
+
workspace_sid: @solution[:sid],
|
|
370
|
+
)
|
|
371
|
+
end
|
|
372
|
+
|
|
373
|
+
@task_queues
|
|
374
|
+
end
|
|
375
|
+
|
|
376
|
+
##
|
|
377
|
+
# Access the workers
|
|
378
|
+
# @return [WorkerList]
|
|
379
|
+
# @return [WorkerContext] if sid was passed.
|
|
380
|
+
def workers(sid=:unset)
|
|
381
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
|
382
|
+
|
|
383
|
+
if sid != :unset
|
|
384
|
+
return WorkerContext.new(
|
|
385
|
+
@version,
|
|
386
|
+
@solution[:sid],
|
|
387
|
+
sid,
|
|
388
|
+
)
|
|
389
|
+
end
|
|
390
|
+
|
|
391
|
+
unless @workers
|
|
392
|
+
@workers = WorkerList.new(
|
|
393
|
+
@version,
|
|
394
|
+
workspace_sid: @solution[:sid],
|
|
395
|
+
)
|
|
396
|
+
end
|
|
397
|
+
|
|
398
|
+
@workers
|
|
399
|
+
end
|
|
400
|
+
|
|
401
|
+
##
|
|
402
|
+
# Access the workflows
|
|
403
|
+
# @return [WorkflowList]
|
|
404
|
+
# @return [WorkflowContext] if sid was passed.
|
|
405
|
+
def workflows(sid=:unset)
|
|
406
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
|
407
|
+
|
|
408
|
+
if sid != :unset
|
|
409
|
+
return WorkflowContext.new(
|
|
410
|
+
@version,
|
|
411
|
+
@solution[:sid],
|
|
412
|
+
sid,
|
|
413
|
+
)
|
|
414
|
+
end
|
|
415
|
+
|
|
416
|
+
unless @workflows
|
|
417
|
+
@workflows = WorkflowList.new(
|
|
418
|
+
@version,
|
|
419
|
+
workspace_sid: @solution[:sid],
|
|
420
|
+
)
|
|
421
|
+
end
|
|
422
|
+
|
|
423
|
+
@workflows
|
|
424
|
+
end
|
|
425
|
+
|
|
426
|
+
##
|
|
427
|
+
# Access the statistics
|
|
428
|
+
# @return [WorkspaceStatisticsList]
|
|
429
|
+
# @return [WorkspaceStatisticsContext]
|
|
430
|
+
def statistics
|
|
431
|
+
WorkspaceStatisticsContext.new(
|
|
432
|
+
@version,
|
|
433
|
+
@solution[:sid],
|
|
434
|
+
)
|
|
435
|
+
end
|
|
436
|
+
|
|
437
|
+
##
|
|
438
|
+
# Access the task_channels
|
|
439
|
+
# @return [TaskChannelList]
|
|
440
|
+
# @return [TaskChannelContext] if sid was passed.
|
|
441
|
+
def task_channels(sid=:unset)
|
|
442
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
|
443
|
+
|
|
444
|
+
if sid != :unset
|
|
445
|
+
return TaskChannelContext.new(
|
|
446
|
+
@version,
|
|
447
|
+
@solution[:sid],
|
|
448
|
+
sid,
|
|
449
|
+
)
|
|
450
|
+
end
|
|
451
|
+
|
|
452
|
+
unless @task_channels
|
|
453
|
+
@task_channels = TaskChannelList.new(
|
|
454
|
+
@version,
|
|
455
|
+
workspace_sid: @solution[:sid],
|
|
456
|
+
)
|
|
457
|
+
end
|
|
458
|
+
|
|
459
|
+
@task_channels
|
|
460
|
+
end
|
|
461
|
+
|
|
462
|
+
##
|
|
463
|
+
# Provide a user friendly representation
|
|
464
|
+
def to_s
|
|
465
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
|
466
|
+
"#<Twilio.Taskrouter.V1.WorkspaceContext #{context}>"
|
|
467
|
+
end
|
|
468
|
+
end
|
|
469
|
+
|
|
470
|
+
class WorkspaceInstance < InstanceResource
|
|
471
|
+
##
|
|
472
|
+
# Initialize the WorkspaceInstance
|
|
473
|
+
# @param [Version] version Version that contains the resource
|
|
474
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
475
|
+
# @param [String] sid The sid
|
|
476
|
+
# @return [WorkspaceInstance] WorkspaceInstance
|
|
477
|
+
def initialize(version, payload, sid: nil)
|
|
478
|
+
super(version)
|
|
479
|
+
|
|
480
|
+
# Marshaled Properties
|
|
481
|
+
@properties = {
|
|
482
|
+
'account_sid' => payload['account_sid'],
|
|
483
|
+
'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
|
|
484
|
+
'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
|
|
485
|
+
'default_activity_name' => payload['default_activity_name'],
|
|
486
|
+
'default_activity_sid' => payload['default_activity_sid'],
|
|
487
|
+
'event_callback_url' => payload['event_callback_url'],
|
|
488
|
+
'events_filter' => payload['events_filter'],
|
|
489
|
+
'friendly_name' => payload['friendly_name'],
|
|
490
|
+
'multi_task_enabled' => payload['multi_task_enabled'],
|
|
491
|
+
'sid' => payload['sid'],
|
|
492
|
+
'timeout_activity_name' => payload['timeout_activity_name'],
|
|
493
|
+
'timeout_activity_sid' => payload['timeout_activity_sid'],
|
|
494
|
+
'prioritize_queue_order' => payload['prioritize_queue_order'],
|
|
495
|
+
'url' => payload['url'],
|
|
496
|
+
'links' => payload['links'],
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
# Context
|
|
500
|
+
@instance_context = nil
|
|
501
|
+
@params = {
|
|
502
|
+
'sid' => sid || @properties['sid'],
|
|
503
|
+
}
|
|
504
|
+
end
|
|
505
|
+
|
|
506
|
+
##
|
|
507
|
+
# Generate an instance context for the instance, the context is capable of
|
|
508
|
+
# performing various actions. All instance actions are proxied to the context
|
|
509
|
+
# @return [WorkspaceContext] WorkspaceContext for this WorkspaceInstance
|
|
510
|
+
def context
|
|
511
|
+
unless @instance_context
|
|
512
|
+
@instance_context = WorkspaceContext.new(
|
|
513
|
+
@version,
|
|
514
|
+
@params['sid'],
|
|
515
|
+
)
|
|
516
|
+
end
|
|
517
|
+
@instance_context
|
|
518
|
+
end
|
|
519
|
+
|
|
520
|
+
##
|
|
521
|
+
# @return [String] The account_sid
|
|
522
|
+
def account_sid
|
|
523
|
+
@properties['account_sid']
|
|
524
|
+
end
|
|
525
|
+
|
|
526
|
+
##
|
|
527
|
+
# @return [Time] The date_created
|
|
528
|
+
def date_created
|
|
529
|
+
@properties['date_created']
|
|
530
|
+
end
|
|
531
|
+
|
|
532
|
+
##
|
|
533
|
+
# @return [Time] The date_updated
|
|
534
|
+
def date_updated
|
|
535
|
+
@properties['date_updated']
|
|
536
|
+
end
|
|
537
|
+
|
|
538
|
+
##
|
|
539
|
+
# @return [String] The default_activity_name
|
|
540
|
+
def default_activity_name
|
|
541
|
+
@properties['default_activity_name']
|
|
542
|
+
end
|
|
543
|
+
|
|
544
|
+
##
|
|
545
|
+
# @return [String] The default_activity_sid
|
|
546
|
+
def default_activity_sid
|
|
547
|
+
@properties['default_activity_sid']
|
|
548
|
+
end
|
|
549
|
+
|
|
550
|
+
##
|
|
551
|
+
# @return [String] The event_callback_url
|
|
552
|
+
def event_callback_url
|
|
553
|
+
@properties['event_callback_url']
|
|
554
|
+
end
|
|
555
|
+
|
|
556
|
+
##
|
|
557
|
+
# @return [String] The events_filter
|
|
558
|
+
def events_filter
|
|
559
|
+
@properties['events_filter']
|
|
560
|
+
end
|
|
561
|
+
|
|
562
|
+
##
|
|
563
|
+
# @return [String] The friendly_name
|
|
564
|
+
def friendly_name
|
|
565
|
+
@properties['friendly_name']
|
|
566
|
+
end
|
|
567
|
+
|
|
568
|
+
##
|
|
569
|
+
# @return [Boolean] The multi_task_enabled
|
|
570
|
+
def multi_task_enabled
|
|
571
|
+
@properties['multi_task_enabled']
|
|
572
|
+
end
|
|
573
|
+
|
|
574
|
+
##
|
|
575
|
+
# @return [String] The sid
|
|
576
|
+
def sid
|
|
577
|
+
@properties['sid']
|
|
578
|
+
end
|
|
579
|
+
|
|
580
|
+
##
|
|
581
|
+
# @return [String] The timeout_activity_name
|
|
582
|
+
def timeout_activity_name
|
|
583
|
+
@properties['timeout_activity_name']
|
|
584
|
+
end
|
|
585
|
+
|
|
586
|
+
##
|
|
587
|
+
# @return [String] The timeout_activity_sid
|
|
588
|
+
def timeout_activity_sid
|
|
589
|
+
@properties['timeout_activity_sid']
|
|
590
|
+
end
|
|
591
|
+
|
|
592
|
+
##
|
|
593
|
+
# @return [workspace.QueueOrder] The prioritize_queue_order
|
|
594
|
+
def prioritize_queue_order
|
|
595
|
+
@properties['prioritize_queue_order']
|
|
596
|
+
end
|
|
597
|
+
|
|
598
|
+
##
|
|
599
|
+
# @return [String] The url
|
|
600
|
+
def url
|
|
601
|
+
@properties['url']
|
|
602
|
+
end
|
|
603
|
+
|
|
604
|
+
##
|
|
605
|
+
# @return [String] The links
|
|
606
|
+
def links
|
|
607
|
+
@properties['links']
|
|
608
|
+
end
|
|
609
|
+
|
|
610
|
+
##
|
|
611
|
+
# Fetch a WorkspaceInstance
|
|
612
|
+
# @return [WorkspaceInstance] Fetched WorkspaceInstance
|
|
613
|
+
def fetch
|
|
614
|
+
context.fetch
|
|
615
|
+
end
|
|
616
|
+
|
|
617
|
+
##
|
|
618
|
+
# Update the WorkspaceInstance
|
|
619
|
+
# @param [String] default_activity_sid The default_activity_sid
|
|
620
|
+
# @param [String] event_callback_url The event_callback_url
|
|
621
|
+
# @param [String] events_filter The events_filter
|
|
622
|
+
# @param [String] friendly_name The friendly_name
|
|
623
|
+
# @param [Boolean] multi_task_enabled The multi_task_enabled
|
|
624
|
+
# @param [String] timeout_activity_sid The timeout_activity_sid
|
|
625
|
+
# @param [workspace.QueueOrder] prioritize_queue_order The prioritize_queue_order
|
|
626
|
+
# @return [WorkspaceInstance] Updated WorkspaceInstance
|
|
627
|
+
def update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset)
|
|
628
|
+
context.update(
|
|
629
|
+
default_activity_sid: default_activity_sid,
|
|
630
|
+
event_callback_url: event_callback_url,
|
|
631
|
+
events_filter: events_filter,
|
|
632
|
+
friendly_name: friendly_name,
|
|
633
|
+
multi_task_enabled: multi_task_enabled,
|
|
634
|
+
timeout_activity_sid: timeout_activity_sid,
|
|
635
|
+
prioritize_queue_order: prioritize_queue_order,
|
|
636
|
+
)
|
|
637
|
+
end
|
|
638
|
+
|
|
639
|
+
##
|
|
640
|
+
# Deletes the WorkspaceInstance
|
|
641
|
+
# @return [Boolean] true if delete succeeds, true otherwise
|
|
642
|
+
def delete
|
|
643
|
+
context.delete
|
|
644
|
+
end
|
|
645
|
+
|
|
646
|
+
##
|
|
647
|
+
# Access the activities
|
|
648
|
+
# @return [activities] activities
|
|
649
|
+
def activities
|
|
650
|
+
context.activities
|
|
651
|
+
end
|
|
652
|
+
|
|
653
|
+
##
|
|
654
|
+
# Access the events
|
|
655
|
+
# @return [events] events
|
|
656
|
+
def events
|
|
657
|
+
context.events
|
|
658
|
+
end
|
|
659
|
+
|
|
660
|
+
##
|
|
661
|
+
# Access the tasks
|
|
662
|
+
# @return [tasks] tasks
|
|
663
|
+
def tasks
|
|
664
|
+
context.tasks
|
|
665
|
+
end
|
|
666
|
+
|
|
667
|
+
##
|
|
668
|
+
# Access the task_queues
|
|
669
|
+
# @return [task_queues] task_queues
|
|
670
|
+
def task_queues
|
|
671
|
+
context.task_queues
|
|
672
|
+
end
|
|
673
|
+
|
|
674
|
+
##
|
|
675
|
+
# Access the workers
|
|
676
|
+
# @return [workers] workers
|
|
677
|
+
def workers
|
|
678
|
+
context.workers
|
|
679
|
+
end
|
|
680
|
+
|
|
681
|
+
##
|
|
682
|
+
# Access the workflows
|
|
683
|
+
# @return [workflows] workflows
|
|
684
|
+
def workflows
|
|
685
|
+
context.workflows
|
|
686
|
+
end
|
|
687
|
+
|
|
688
|
+
##
|
|
689
|
+
# Access the statistics
|
|
690
|
+
# @return [statistics] statistics
|
|
691
|
+
def statistics
|
|
692
|
+
context.statistics
|
|
693
|
+
end
|
|
694
|
+
|
|
695
|
+
##
|
|
696
|
+
# Access the task_channels
|
|
697
|
+
# @return [task_channels] task_channels
|
|
698
|
+
def task_channels
|
|
699
|
+
context.task_channels
|
|
700
|
+
end
|
|
701
|
+
|
|
702
|
+
##
|
|
703
|
+
# Provide a user friendly representation
|
|
704
|
+
def to_s
|
|
705
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
|
706
|
+
"<Twilio.Taskrouter.V1.WorkspaceInstance #{values}>"
|
|
707
|
+
end
|
|
708
|
+
end
|
|
709
|
+
end
|
|
710
|
+
end
|
|
711
|
+
end
|
|
712
|
+
end
|