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,584 @@
|
|
|
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 WorkspaceContext < InstanceContext
|
|
12
|
+
class TaskList < ListResource
|
|
13
|
+
##
|
|
14
|
+
# Initialize the TaskList
|
|
15
|
+
# @param [Version] version Version that contains the resource
|
|
16
|
+
# @param [String] workspace_sid The workspace_sid
|
|
17
|
+
# @return [TaskList] TaskList
|
|
18
|
+
def initialize(version, workspace_sid: nil)
|
|
19
|
+
super(version)
|
|
20
|
+
|
|
21
|
+
# Path Solution
|
|
22
|
+
@solution = {
|
|
23
|
+
workspace_sid: workspace_sid
|
|
24
|
+
}
|
|
25
|
+
@uri = "/Workspaces/#{@solution[:workspace_sid]}/Tasks"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
##
|
|
29
|
+
# Lists TaskInstance records from the API as a list.
|
|
30
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
31
|
+
# memory before returning.
|
|
32
|
+
# @param [String] priority The priority
|
|
33
|
+
# @param [String] assignment_status The assignment_status
|
|
34
|
+
# @param [String] workflow_sid The workflow_sid
|
|
35
|
+
# @param [String] workflow_name The workflow_name
|
|
36
|
+
# @param [String] task_queue_sid The task_queue_sid
|
|
37
|
+
# @param [String] task_queue_name The task_queue_name
|
|
38
|
+
# @param [String] evaluate_task_attributes The evaluate_task_attributes
|
|
39
|
+
# @param [String] ordering The ordering
|
|
40
|
+
# @param [Boolean] has_addons The has_addons
|
|
41
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
42
|
+
# guarantees to never return more than limit. Default is no limit
|
|
43
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
44
|
+
# the default value of 50 records. If no page_size is defined
|
|
45
|
+
# but a limit is defined, stream() will attempt to read the
|
|
46
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
47
|
+
# @return [Array] Array of up to limit results
|
|
48
|
+
def list(priority: :unset, assignment_status: :unset, workflow_sid: :unset, workflow_name: :unset, task_queue_sid: :unset, task_queue_name: :unset, evaluate_task_attributes: :unset, ordering: :unset, has_addons: :unset, limit: nil, page_size: nil)
|
|
49
|
+
self.stream(
|
|
50
|
+
priority: priority,
|
|
51
|
+
assignment_status: assignment_status,
|
|
52
|
+
workflow_sid: workflow_sid,
|
|
53
|
+
workflow_name: workflow_name,
|
|
54
|
+
task_queue_sid: task_queue_sid,
|
|
55
|
+
task_queue_name: task_queue_name,
|
|
56
|
+
evaluate_task_attributes: evaluate_task_attributes,
|
|
57
|
+
ordering: ordering,
|
|
58
|
+
has_addons: has_addons,
|
|
59
|
+
limit: limit,
|
|
60
|
+
page_size: page_size
|
|
61
|
+
).entries
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
##
|
|
65
|
+
# Streams TaskInstance records from the API as an Enumerable.
|
|
66
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
67
|
+
# is reached.
|
|
68
|
+
# @param [String] priority The priority
|
|
69
|
+
# @param [String] assignment_status The assignment_status
|
|
70
|
+
# @param [String] workflow_sid The workflow_sid
|
|
71
|
+
# @param [String] workflow_name The workflow_name
|
|
72
|
+
# @param [String] task_queue_sid The task_queue_sid
|
|
73
|
+
# @param [String] task_queue_name The task_queue_name
|
|
74
|
+
# @param [String] evaluate_task_attributes The evaluate_task_attributes
|
|
75
|
+
# @param [String] ordering The ordering
|
|
76
|
+
# @param [Boolean] has_addons The has_addons
|
|
77
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
78
|
+
# guarantees to never return more than limit. Default is no limit
|
|
79
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
80
|
+
# the default value of 50 records. If no page_size is defined
|
|
81
|
+
# but a limit is defined, stream() will attempt to read the
|
|
82
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
83
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
84
|
+
def stream(priority: :unset, assignment_status: :unset, workflow_sid: :unset, workflow_name: :unset, task_queue_sid: :unset, task_queue_name: :unset, evaluate_task_attributes: :unset, ordering: :unset, has_addons: :unset, limit: nil, page_size: nil)
|
|
85
|
+
limits = @version.read_limits(limit, page_size)
|
|
86
|
+
|
|
87
|
+
page = self.page(
|
|
88
|
+
priority: priority,
|
|
89
|
+
assignment_status: assignment_status,
|
|
90
|
+
workflow_sid: workflow_sid,
|
|
91
|
+
workflow_name: workflow_name,
|
|
92
|
+
task_queue_sid: task_queue_sid,
|
|
93
|
+
task_queue_name: task_queue_name,
|
|
94
|
+
evaluate_task_attributes: evaluate_task_attributes,
|
|
95
|
+
ordering: ordering,
|
|
96
|
+
has_addons: has_addons,
|
|
97
|
+
page_size: limits[:page_size],
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
##
|
|
104
|
+
# When passed a block, yields TaskInstance records from the API.
|
|
105
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
106
|
+
# is reached.
|
|
107
|
+
def each
|
|
108
|
+
limits = @version.read_limits
|
|
109
|
+
|
|
110
|
+
page = self.page(
|
|
111
|
+
page_size: limits[:page_size],
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
@version.stream(page,
|
|
115
|
+
limit: limits[:limit],
|
|
116
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
##
|
|
120
|
+
# Retrieve a single page of TaskInstance records from the API.
|
|
121
|
+
# Request is executed immediately.
|
|
122
|
+
# @param [String] priority The priority
|
|
123
|
+
# @param [String] assignment_status The assignment_status
|
|
124
|
+
# @param [String] workflow_sid The workflow_sid
|
|
125
|
+
# @param [String] workflow_name The workflow_name
|
|
126
|
+
# @param [String] task_queue_sid The task_queue_sid
|
|
127
|
+
# @param [String] task_queue_name The task_queue_name
|
|
128
|
+
# @param [String] evaluate_task_attributes The evaluate_task_attributes
|
|
129
|
+
# @param [String] ordering The ordering
|
|
130
|
+
# @param [Boolean] has_addons The has_addons
|
|
131
|
+
# @param [String] page_token PageToken provided by the API
|
|
132
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
133
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
134
|
+
# @return [Page] Page of TaskInstance
|
|
135
|
+
def page(priority: :unset, assignment_status: :unset, workflow_sid: :unset, workflow_name: :unset, task_queue_sid: :unset, task_queue_name: :unset, evaluate_task_attributes: :unset, ordering: :unset, has_addons: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
|
136
|
+
params = Twilio::Values.of({
|
|
137
|
+
'Priority' => priority,
|
|
138
|
+
'AssignmentStatus' => assignment_status,
|
|
139
|
+
'WorkflowSid' => workflow_sid,
|
|
140
|
+
'WorkflowName' => workflow_name,
|
|
141
|
+
'TaskQueueSid' => task_queue_sid,
|
|
142
|
+
'TaskQueueName' => task_queue_name,
|
|
143
|
+
'EvaluateTaskAttributes' => evaluate_task_attributes,
|
|
144
|
+
'Ordering' => ordering,
|
|
145
|
+
'HasAddons' => has_addons,
|
|
146
|
+
'PageToken' => page_token,
|
|
147
|
+
'Page' => page_number,
|
|
148
|
+
'PageSize' => page_size,
|
|
149
|
+
})
|
|
150
|
+
response = @version.page(
|
|
151
|
+
'GET',
|
|
152
|
+
@uri,
|
|
153
|
+
params
|
|
154
|
+
)
|
|
155
|
+
TaskPage.new(@version, response, @solution)
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
##
|
|
159
|
+
# Retrieve a single page of TaskInstance records from the API.
|
|
160
|
+
# Request is executed immediately.
|
|
161
|
+
# @param [String] target_url API-generated URL for the requested results page
|
|
162
|
+
# @return [Page] Page of TaskInstance
|
|
163
|
+
def get_page(target_url)
|
|
164
|
+
response = @version.domain.request(
|
|
165
|
+
'GET',
|
|
166
|
+
target_url
|
|
167
|
+
)
|
|
168
|
+
TaskPage.new(@version, response, @solution)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
##
|
|
172
|
+
# Retrieve a single page of TaskInstance records from the API.
|
|
173
|
+
# Request is executed immediately.
|
|
174
|
+
# @param [String] timeout The timeout
|
|
175
|
+
# @param [String] priority The priority
|
|
176
|
+
# @param [String] task_channel The task_channel
|
|
177
|
+
# @param [String] workflow_sid The workflow_sid
|
|
178
|
+
# @param [String] attributes The attributes
|
|
179
|
+
# @return [TaskInstance] Newly created TaskInstance
|
|
180
|
+
def create(timeout: :unset, priority: :unset, task_channel: :unset, workflow_sid: :unset, attributes: :unset)
|
|
181
|
+
data = Twilio::Values.of({
|
|
182
|
+
'Timeout' => timeout,
|
|
183
|
+
'Priority' => priority,
|
|
184
|
+
'TaskChannel' => task_channel,
|
|
185
|
+
'WorkflowSid' => workflow_sid,
|
|
186
|
+
'Attributes' => attributes,
|
|
187
|
+
})
|
|
188
|
+
|
|
189
|
+
payload = @version.create(
|
|
190
|
+
'POST',
|
|
191
|
+
@uri,
|
|
192
|
+
data: data
|
|
193
|
+
)
|
|
194
|
+
|
|
195
|
+
TaskInstance.new(
|
|
196
|
+
@version,
|
|
197
|
+
payload,
|
|
198
|
+
workspace_sid: @solution[:workspace_sid],
|
|
199
|
+
)
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
##
|
|
203
|
+
# Provide a user friendly representation
|
|
204
|
+
def to_s
|
|
205
|
+
'#<Twilio.Taskrouter.V1.TaskList>'
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
class TaskPage < Page
|
|
210
|
+
##
|
|
211
|
+
# Initialize the TaskPage
|
|
212
|
+
# @param [Version] version Version that contains the resource
|
|
213
|
+
# @param [Response] response Response from the API
|
|
214
|
+
# @param [Hash] solution Path solution for the resource
|
|
215
|
+
# @return [TaskPage] TaskPage
|
|
216
|
+
def initialize(version, response, solution)
|
|
217
|
+
super(version, response)
|
|
218
|
+
|
|
219
|
+
# Path Solution
|
|
220
|
+
@solution = solution
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
##
|
|
224
|
+
# Build an instance of TaskInstance
|
|
225
|
+
# @param [Hash] payload Payload response from the API
|
|
226
|
+
# @return [TaskInstance] TaskInstance
|
|
227
|
+
def get_instance(payload)
|
|
228
|
+
TaskInstance.new(
|
|
229
|
+
@version,
|
|
230
|
+
payload,
|
|
231
|
+
workspace_sid: @solution[:workspace_sid],
|
|
232
|
+
)
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
##
|
|
236
|
+
# Provide a user friendly representation
|
|
237
|
+
def to_s
|
|
238
|
+
'<Twilio.Taskrouter.V1.TaskPage>'
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
class TaskContext < InstanceContext
|
|
243
|
+
##
|
|
244
|
+
# Initialize the TaskContext
|
|
245
|
+
# @param [Version] version Version that contains the resource
|
|
246
|
+
# @param [String] workspace_sid The workspace_sid
|
|
247
|
+
# @param [String] sid The sid
|
|
248
|
+
# @return [TaskContext] TaskContext
|
|
249
|
+
def initialize(version, workspace_sid, sid)
|
|
250
|
+
super(version)
|
|
251
|
+
|
|
252
|
+
# Path Solution
|
|
253
|
+
@solution = {
|
|
254
|
+
workspace_sid: workspace_sid,
|
|
255
|
+
sid: sid,
|
|
256
|
+
}
|
|
257
|
+
@uri = "/Workspaces/#{@solution[:workspace_sid]}/Tasks/#{@solution[:sid]}"
|
|
258
|
+
|
|
259
|
+
# Dependents
|
|
260
|
+
@reservations = nil
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
##
|
|
264
|
+
# Fetch a TaskInstance
|
|
265
|
+
# @return [TaskInstance] Fetched TaskInstance
|
|
266
|
+
def fetch
|
|
267
|
+
params = Twilio::Values.of({})
|
|
268
|
+
|
|
269
|
+
payload = @version.fetch(
|
|
270
|
+
'GET',
|
|
271
|
+
@uri,
|
|
272
|
+
params,
|
|
273
|
+
)
|
|
274
|
+
|
|
275
|
+
TaskInstance.new(
|
|
276
|
+
@version,
|
|
277
|
+
payload,
|
|
278
|
+
workspace_sid: @solution[:workspace_sid],
|
|
279
|
+
sid: @solution[:sid],
|
|
280
|
+
)
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
##
|
|
284
|
+
# Update the TaskInstance
|
|
285
|
+
# @param [String] attributes The attributes
|
|
286
|
+
# @param [task.Status] assignment_status The assignment_status
|
|
287
|
+
# @param [String] reason The reason
|
|
288
|
+
# @param [String] priority The priority
|
|
289
|
+
# @param [String] task_channel The task_channel
|
|
290
|
+
# @return [TaskInstance] Updated TaskInstance
|
|
291
|
+
def update(attributes: :unset, assignment_status: :unset, reason: :unset, priority: :unset, task_channel: :unset)
|
|
292
|
+
data = Twilio::Values.of({
|
|
293
|
+
'Attributes' => attributes,
|
|
294
|
+
'AssignmentStatus' => assignment_status,
|
|
295
|
+
'Reason' => reason,
|
|
296
|
+
'Priority' => priority,
|
|
297
|
+
'TaskChannel' => task_channel,
|
|
298
|
+
})
|
|
299
|
+
|
|
300
|
+
payload = @version.update(
|
|
301
|
+
'POST',
|
|
302
|
+
@uri,
|
|
303
|
+
data: data,
|
|
304
|
+
)
|
|
305
|
+
|
|
306
|
+
TaskInstance.new(
|
|
307
|
+
@version,
|
|
308
|
+
payload,
|
|
309
|
+
workspace_sid: @solution[:workspace_sid],
|
|
310
|
+
sid: @solution[:sid],
|
|
311
|
+
)
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
##
|
|
315
|
+
# Deletes the TaskInstance
|
|
316
|
+
# @return [Boolean] true if delete succeeds, true otherwise
|
|
317
|
+
def delete
|
|
318
|
+
@version.delete('delete', @uri)
|
|
319
|
+
end
|
|
320
|
+
|
|
321
|
+
##
|
|
322
|
+
# Access the reservations
|
|
323
|
+
# @return [ReservationList]
|
|
324
|
+
# @return [ReservationContext] if sid was passed.
|
|
325
|
+
def reservations(sid=:unset)
|
|
326
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
|
327
|
+
|
|
328
|
+
if sid != :unset
|
|
329
|
+
return ReservationContext.new(
|
|
330
|
+
@version,
|
|
331
|
+
@solution[:workspace_sid],
|
|
332
|
+
@solution[:sid],
|
|
333
|
+
sid,
|
|
334
|
+
)
|
|
335
|
+
end
|
|
336
|
+
|
|
337
|
+
unless @reservations
|
|
338
|
+
@reservations = ReservationList.new(
|
|
339
|
+
@version,
|
|
340
|
+
workspace_sid: @solution[:workspace_sid],
|
|
341
|
+
task_sid: @solution[:sid],
|
|
342
|
+
)
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
@reservations
|
|
346
|
+
end
|
|
347
|
+
|
|
348
|
+
##
|
|
349
|
+
# Provide a user friendly representation
|
|
350
|
+
def to_s
|
|
351
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
|
352
|
+
"#<Twilio.Taskrouter.V1.TaskContext #{context}>"
|
|
353
|
+
end
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
class TaskInstance < InstanceResource
|
|
357
|
+
##
|
|
358
|
+
# Initialize the TaskInstance
|
|
359
|
+
# @param [Version] version Version that contains the resource
|
|
360
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
361
|
+
# @param [String] workspace_sid The workspace_sid
|
|
362
|
+
# @param [String] sid The sid
|
|
363
|
+
# @return [TaskInstance] TaskInstance
|
|
364
|
+
def initialize(version, payload, workspace_sid: nil, sid: nil)
|
|
365
|
+
super(version)
|
|
366
|
+
|
|
367
|
+
# Marshaled Properties
|
|
368
|
+
@properties = {
|
|
369
|
+
'account_sid' => payload['account_sid'],
|
|
370
|
+
'age' => payload['age'].to_i,
|
|
371
|
+
'assignment_status' => payload['assignment_status'],
|
|
372
|
+
'attributes' => payload['attributes'],
|
|
373
|
+
'addons' => payload['addons'],
|
|
374
|
+
'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
|
|
375
|
+
'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
|
|
376
|
+
'priority' => payload['priority'].to_i,
|
|
377
|
+
'reason' => payload['reason'],
|
|
378
|
+
'sid' => payload['sid'],
|
|
379
|
+
'task_queue_sid' => payload['task_queue_sid'],
|
|
380
|
+
'task_queue_friendly_name' => payload['task_queue_friendly_name'],
|
|
381
|
+
'task_channel_sid' => payload['task_channel_sid'],
|
|
382
|
+
'task_channel_unique_name' => payload['task_channel_unique_name'],
|
|
383
|
+
'timeout' => payload['timeout'].to_i,
|
|
384
|
+
'workflow_sid' => payload['workflow_sid'],
|
|
385
|
+
'workflow_friendly_name' => payload['workflow_friendly_name'],
|
|
386
|
+
'workspace_sid' => payload['workspace_sid'],
|
|
387
|
+
'url' => payload['url'],
|
|
388
|
+
'links' => payload['links'],
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
# Context
|
|
392
|
+
@instance_context = nil
|
|
393
|
+
@params = {
|
|
394
|
+
'workspace_sid' => workspace_sid,
|
|
395
|
+
'sid' => sid || @properties['sid'],
|
|
396
|
+
}
|
|
397
|
+
end
|
|
398
|
+
|
|
399
|
+
##
|
|
400
|
+
# Generate an instance context for the instance, the context is capable of
|
|
401
|
+
# performing various actions. All instance actions are proxied to the context
|
|
402
|
+
# @return [TaskContext] TaskContext for this TaskInstance
|
|
403
|
+
def context
|
|
404
|
+
unless @instance_context
|
|
405
|
+
@instance_context = TaskContext.new(
|
|
406
|
+
@version,
|
|
407
|
+
@params['workspace_sid'],
|
|
408
|
+
@params['sid'],
|
|
409
|
+
)
|
|
410
|
+
end
|
|
411
|
+
@instance_context
|
|
412
|
+
end
|
|
413
|
+
|
|
414
|
+
##
|
|
415
|
+
# @return [String] The account_sid
|
|
416
|
+
def account_sid
|
|
417
|
+
@properties['account_sid']
|
|
418
|
+
end
|
|
419
|
+
|
|
420
|
+
##
|
|
421
|
+
# @return [String] The age
|
|
422
|
+
def age
|
|
423
|
+
@properties['age']
|
|
424
|
+
end
|
|
425
|
+
|
|
426
|
+
##
|
|
427
|
+
# @return [reservation.Status] The assignment_status
|
|
428
|
+
def assignment_status
|
|
429
|
+
@properties['assignment_status']
|
|
430
|
+
end
|
|
431
|
+
|
|
432
|
+
##
|
|
433
|
+
# @return [String] The attributes
|
|
434
|
+
def attributes
|
|
435
|
+
@properties['attributes']
|
|
436
|
+
end
|
|
437
|
+
|
|
438
|
+
##
|
|
439
|
+
# @return [String] The addons
|
|
440
|
+
def addons
|
|
441
|
+
@properties['addons']
|
|
442
|
+
end
|
|
443
|
+
|
|
444
|
+
##
|
|
445
|
+
# @return [Time] The date_created
|
|
446
|
+
def date_created
|
|
447
|
+
@properties['date_created']
|
|
448
|
+
end
|
|
449
|
+
|
|
450
|
+
##
|
|
451
|
+
# @return [Time] The date_updated
|
|
452
|
+
def date_updated
|
|
453
|
+
@properties['date_updated']
|
|
454
|
+
end
|
|
455
|
+
|
|
456
|
+
##
|
|
457
|
+
# @return [String] The priority
|
|
458
|
+
def priority
|
|
459
|
+
@properties['priority']
|
|
460
|
+
end
|
|
461
|
+
|
|
462
|
+
##
|
|
463
|
+
# @return [String] The reason
|
|
464
|
+
def reason
|
|
465
|
+
@properties['reason']
|
|
466
|
+
end
|
|
467
|
+
|
|
468
|
+
##
|
|
469
|
+
# @return [String] The sid
|
|
470
|
+
def sid
|
|
471
|
+
@properties['sid']
|
|
472
|
+
end
|
|
473
|
+
|
|
474
|
+
##
|
|
475
|
+
# @return [String] The task_queue_sid
|
|
476
|
+
def task_queue_sid
|
|
477
|
+
@properties['task_queue_sid']
|
|
478
|
+
end
|
|
479
|
+
|
|
480
|
+
##
|
|
481
|
+
# @return [String] The task_queue_friendly_name
|
|
482
|
+
def task_queue_friendly_name
|
|
483
|
+
@properties['task_queue_friendly_name']
|
|
484
|
+
end
|
|
485
|
+
|
|
486
|
+
##
|
|
487
|
+
# @return [String] The task_channel_sid
|
|
488
|
+
def task_channel_sid
|
|
489
|
+
@properties['task_channel_sid']
|
|
490
|
+
end
|
|
491
|
+
|
|
492
|
+
##
|
|
493
|
+
# @return [String] The task_channel_unique_name
|
|
494
|
+
def task_channel_unique_name
|
|
495
|
+
@properties['task_channel_unique_name']
|
|
496
|
+
end
|
|
497
|
+
|
|
498
|
+
##
|
|
499
|
+
# @return [String] The timeout
|
|
500
|
+
def timeout
|
|
501
|
+
@properties['timeout']
|
|
502
|
+
end
|
|
503
|
+
|
|
504
|
+
##
|
|
505
|
+
# @return [String] The workflow_sid
|
|
506
|
+
def workflow_sid
|
|
507
|
+
@properties['workflow_sid']
|
|
508
|
+
end
|
|
509
|
+
|
|
510
|
+
##
|
|
511
|
+
# @return [String] The workflow_friendly_name
|
|
512
|
+
def workflow_friendly_name
|
|
513
|
+
@properties['workflow_friendly_name']
|
|
514
|
+
end
|
|
515
|
+
|
|
516
|
+
##
|
|
517
|
+
# @return [String] The workspace_sid
|
|
518
|
+
def workspace_sid
|
|
519
|
+
@properties['workspace_sid']
|
|
520
|
+
end
|
|
521
|
+
|
|
522
|
+
##
|
|
523
|
+
# @return [String] The url
|
|
524
|
+
def url
|
|
525
|
+
@properties['url']
|
|
526
|
+
end
|
|
527
|
+
|
|
528
|
+
##
|
|
529
|
+
# @return [String] The links
|
|
530
|
+
def links
|
|
531
|
+
@properties['links']
|
|
532
|
+
end
|
|
533
|
+
|
|
534
|
+
##
|
|
535
|
+
# Fetch a TaskInstance
|
|
536
|
+
# @return [TaskInstance] Fetched TaskInstance
|
|
537
|
+
def fetch
|
|
538
|
+
context.fetch
|
|
539
|
+
end
|
|
540
|
+
|
|
541
|
+
##
|
|
542
|
+
# Update the TaskInstance
|
|
543
|
+
# @param [String] attributes The attributes
|
|
544
|
+
# @param [reservation.Status] assignment_status The assignment_status
|
|
545
|
+
# @param [String] reason The reason
|
|
546
|
+
# @param [String] priority The priority
|
|
547
|
+
# @param [String] task_channel The task_channel
|
|
548
|
+
# @return [TaskInstance] Updated TaskInstance
|
|
549
|
+
def update(attributes: :unset, assignment_status: :unset, reason: :unset, priority: :unset, task_channel: :unset)
|
|
550
|
+
context.update(
|
|
551
|
+
attributes: attributes,
|
|
552
|
+
assignment_status: assignment_status,
|
|
553
|
+
reason: reason,
|
|
554
|
+
priority: priority,
|
|
555
|
+
task_channel: task_channel,
|
|
556
|
+
)
|
|
557
|
+
end
|
|
558
|
+
|
|
559
|
+
##
|
|
560
|
+
# Deletes the TaskInstance
|
|
561
|
+
# @return [Boolean] true if delete succeeds, true otherwise
|
|
562
|
+
def delete
|
|
563
|
+
context.delete
|
|
564
|
+
end
|
|
565
|
+
|
|
566
|
+
##
|
|
567
|
+
# Access the reservations
|
|
568
|
+
# @return [reservations] reservations
|
|
569
|
+
def reservations
|
|
570
|
+
context.reservations
|
|
571
|
+
end
|
|
572
|
+
|
|
573
|
+
##
|
|
574
|
+
# Provide a user friendly representation
|
|
575
|
+
def to_s
|
|
576
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
|
577
|
+
"<Twilio.Taskrouter.V1.TaskInstance #{values}>"
|
|
578
|
+
end
|
|
579
|
+
end
|
|
580
|
+
end
|
|
581
|
+
end
|
|
582
|
+
end
|
|
583
|
+
end
|
|
584
|
+
end
|