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,515 @@
|
|
|
1
|
+
##
|
|
2
|
+
# This code was generated by
|
|
3
|
+
# \ / _ _ _| _ _
|
|
4
|
+
# | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
5
|
+
# / /
|
|
6
|
+
|
|
7
|
+
module Twilio
|
|
8
|
+
module REST
|
|
9
|
+
class Api < Domain
|
|
10
|
+
class V2010 < Version
|
|
11
|
+
class AccountContext < InstanceContext
|
|
12
|
+
class ConferenceContext < InstanceContext
|
|
13
|
+
class ParticipantList < ListResource
|
|
14
|
+
##
|
|
15
|
+
# Initialize the ParticipantList
|
|
16
|
+
# @param [Version] version Version that contains the resource
|
|
17
|
+
# @param [String] account_sid The unique id of the Account that created this
|
|
18
|
+
# conference
|
|
19
|
+
# @param [String] conference_sid A 34 character string that identifies the
|
|
20
|
+
# conference this participant is in
|
|
21
|
+
# @return [ParticipantList] ParticipantList
|
|
22
|
+
def initialize(version, account_sid: nil, conference_sid: nil)
|
|
23
|
+
super(version)
|
|
24
|
+
|
|
25
|
+
# Path Solution
|
|
26
|
+
@solution = {
|
|
27
|
+
account_sid: account_sid,
|
|
28
|
+
conference_sid: conference_sid
|
|
29
|
+
}
|
|
30
|
+
@uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants.json"
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
##
|
|
34
|
+
# Retrieve a single page of ParticipantInstance records from the API.
|
|
35
|
+
# Request is executed immediately.
|
|
36
|
+
# @param [String] from The from
|
|
37
|
+
# @param [String] to The to
|
|
38
|
+
# @param [String] status_callback The status_callback
|
|
39
|
+
# @param [String] status_callback_method The status_callback_method
|
|
40
|
+
# @param [String] status_callback_event The status_callback_event
|
|
41
|
+
# @param [String] timeout The timeout
|
|
42
|
+
# @param [Boolean] record The record
|
|
43
|
+
# @param [Boolean] muted The muted
|
|
44
|
+
# @param [String] beep The beep
|
|
45
|
+
# @param [Boolean] start_conference_on_enter The start_conference_on_enter
|
|
46
|
+
# @param [Boolean] end_conference_on_exit The end_conference_on_exit
|
|
47
|
+
# @param [String] wait_url The wait_url
|
|
48
|
+
# @param [String] wait_method The wait_method
|
|
49
|
+
# @param [Boolean] early_media The early_media
|
|
50
|
+
# @param [String] max_participants The max_participants
|
|
51
|
+
# @param [String] conference_record The conference_record
|
|
52
|
+
# @param [String] conference_trim The conference_trim
|
|
53
|
+
# @param [String] conference_status_callback The conference_status_callback
|
|
54
|
+
# @param [String] conference_status_callback_method The
|
|
55
|
+
# conference_status_callback_method
|
|
56
|
+
# @param [String] conference_status_callback_event The
|
|
57
|
+
# conference_status_callback_event
|
|
58
|
+
# @param [String] recording_channels The recording_channels
|
|
59
|
+
# @param [String] recording_status_callback The recording_status_callback
|
|
60
|
+
# @param [String] recording_status_callback_method The
|
|
61
|
+
# recording_status_callback_method
|
|
62
|
+
# @param [String] sip_auth_username The sip_auth_username
|
|
63
|
+
# @param [String] sip_auth_password The sip_auth_password
|
|
64
|
+
# @param [String] region The region
|
|
65
|
+
# @param [String] conference_recording_status_callback The
|
|
66
|
+
# conference_recording_status_callback
|
|
67
|
+
# @param [String] conference_recording_status_callback_method The
|
|
68
|
+
# conference_recording_status_callback_method
|
|
69
|
+
# @return [ParticipantInstance] Newly created ParticipantInstance
|
|
70
|
+
def create(from: nil, to: nil, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_record: :unset, conference_trim: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, region: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset)
|
|
71
|
+
data = Twilio::Values.of({
|
|
72
|
+
'From' => from,
|
|
73
|
+
'To' => to,
|
|
74
|
+
'StatusCallback' => status_callback,
|
|
75
|
+
'StatusCallbackMethod' => status_callback_method,
|
|
76
|
+
'StatusCallbackEvent' => status_callback_event,
|
|
77
|
+
'Timeout' => timeout,
|
|
78
|
+
'Record' => record,
|
|
79
|
+
'Muted' => muted,
|
|
80
|
+
'Beep' => beep,
|
|
81
|
+
'StartConferenceOnEnter' => start_conference_on_enter,
|
|
82
|
+
'EndConferenceOnExit' => end_conference_on_exit,
|
|
83
|
+
'WaitUrl' => wait_url,
|
|
84
|
+
'WaitMethod' => wait_method,
|
|
85
|
+
'EarlyMedia' => early_media,
|
|
86
|
+
'MaxParticipants' => max_participants,
|
|
87
|
+
'ConferenceRecord' => conference_record,
|
|
88
|
+
'ConferenceTrim' => conference_trim,
|
|
89
|
+
'ConferenceStatusCallback' => conference_status_callback,
|
|
90
|
+
'ConferenceStatusCallbackMethod' => conference_status_callback_method,
|
|
91
|
+
'ConferenceStatusCallbackEvent' => conference_status_callback_event,
|
|
92
|
+
'RecordingChannels' => recording_channels,
|
|
93
|
+
'RecordingStatusCallback' => recording_status_callback,
|
|
94
|
+
'RecordingStatusCallbackMethod' => recording_status_callback_method,
|
|
95
|
+
'SipAuthUsername' => sip_auth_username,
|
|
96
|
+
'SipAuthPassword' => sip_auth_password,
|
|
97
|
+
'Region' => region,
|
|
98
|
+
'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
|
|
99
|
+
'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
|
|
100
|
+
})
|
|
101
|
+
|
|
102
|
+
payload = @version.create(
|
|
103
|
+
'POST',
|
|
104
|
+
@uri,
|
|
105
|
+
data: data
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
ParticipantInstance.new(
|
|
109
|
+
@version,
|
|
110
|
+
payload,
|
|
111
|
+
account_sid: @solution[:account_sid],
|
|
112
|
+
conference_sid: @solution[:conference_sid],
|
|
113
|
+
)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
##
|
|
117
|
+
# Lists ParticipantInstance records from the API as a list.
|
|
118
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
119
|
+
# memory before returning.
|
|
120
|
+
# @param [Boolean] muted Only show participants that are muted or unmuted
|
|
121
|
+
# @param [Boolean] hold The hold
|
|
122
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
123
|
+
# guarantees to never return more than limit. Default is no limit
|
|
124
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
125
|
+
# the default value of 50 records. If no page_size is defined
|
|
126
|
+
# but a limit is defined, stream() will attempt to read the
|
|
127
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
128
|
+
# @return [Array] Array of up to limit results
|
|
129
|
+
def list(muted: :unset, hold: :unset, limit: nil, page_size: nil)
|
|
130
|
+
self.stream(
|
|
131
|
+
muted: muted,
|
|
132
|
+
hold: hold,
|
|
133
|
+
limit: limit,
|
|
134
|
+
page_size: page_size
|
|
135
|
+
).entries
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
##
|
|
139
|
+
# Streams ParticipantInstance records from the API as an Enumerable.
|
|
140
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
141
|
+
# is reached.
|
|
142
|
+
# @param [Boolean] muted Only show participants that are muted or unmuted
|
|
143
|
+
# @param [Boolean] hold The hold
|
|
144
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
145
|
+
# guarantees to never return more than limit. Default is no limit
|
|
146
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
147
|
+
# the default value of 50 records. If no page_size is defined
|
|
148
|
+
# but a limit is defined, stream() will attempt to read the
|
|
149
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
150
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
151
|
+
def stream(muted: :unset, hold: :unset, limit: nil, page_size: nil)
|
|
152
|
+
limits = @version.read_limits(limit, page_size)
|
|
153
|
+
|
|
154
|
+
page = self.page(
|
|
155
|
+
muted: muted,
|
|
156
|
+
hold: hold,
|
|
157
|
+
page_size: limits[:page_size],
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
##
|
|
164
|
+
# When passed a block, yields ParticipantInstance records from the API.
|
|
165
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
166
|
+
# is reached.
|
|
167
|
+
def each
|
|
168
|
+
limits = @version.read_limits
|
|
169
|
+
|
|
170
|
+
page = self.page(
|
|
171
|
+
page_size: limits[:page_size],
|
|
172
|
+
)
|
|
173
|
+
|
|
174
|
+
@version.stream(page,
|
|
175
|
+
limit: limits[:limit],
|
|
176
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
##
|
|
180
|
+
# Retrieve a single page of ParticipantInstance records from the API.
|
|
181
|
+
# Request is executed immediately.
|
|
182
|
+
# @param [Boolean] muted Only show participants that are muted or unmuted
|
|
183
|
+
# @param [Boolean] hold The hold
|
|
184
|
+
# @param [String] page_token PageToken provided by the API
|
|
185
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
186
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
187
|
+
# @return [Page] Page of ParticipantInstance
|
|
188
|
+
def page(muted: :unset, hold: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
|
189
|
+
params = Twilio::Values.of({
|
|
190
|
+
'Muted' => muted,
|
|
191
|
+
'Hold' => hold,
|
|
192
|
+
'PageToken' => page_token,
|
|
193
|
+
'Page' => page_number,
|
|
194
|
+
'PageSize' => page_size,
|
|
195
|
+
})
|
|
196
|
+
response = @version.page(
|
|
197
|
+
'GET',
|
|
198
|
+
@uri,
|
|
199
|
+
params
|
|
200
|
+
)
|
|
201
|
+
ParticipantPage.new(@version, response, @solution)
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
##
|
|
205
|
+
# Retrieve a single page of ParticipantInstance records from the API.
|
|
206
|
+
# Request is executed immediately.
|
|
207
|
+
# @param [String] target_url API-generated URL for the requested results page
|
|
208
|
+
# @return [Page] Page of ParticipantInstance
|
|
209
|
+
def get_page(target_url)
|
|
210
|
+
response = @version.domain.request(
|
|
211
|
+
'GET',
|
|
212
|
+
target_url
|
|
213
|
+
)
|
|
214
|
+
ParticipantPage.new(@version, response, @solution)
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
##
|
|
218
|
+
# Provide a user friendly representation
|
|
219
|
+
def to_s
|
|
220
|
+
'#<Twilio.Api.V2010.ParticipantList>'
|
|
221
|
+
end
|
|
222
|
+
end
|
|
223
|
+
|
|
224
|
+
class ParticipantPage < Page
|
|
225
|
+
##
|
|
226
|
+
# Initialize the ParticipantPage
|
|
227
|
+
# @param [Version] version Version that contains the resource
|
|
228
|
+
# @param [Response] response Response from the API
|
|
229
|
+
# @param [Hash] solution Path solution for the resource
|
|
230
|
+
# @return [ParticipantPage] ParticipantPage
|
|
231
|
+
def initialize(version, response, solution)
|
|
232
|
+
super(version, response)
|
|
233
|
+
|
|
234
|
+
# Path Solution
|
|
235
|
+
@solution = solution
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
##
|
|
239
|
+
# Build an instance of ParticipantInstance
|
|
240
|
+
# @param [Hash] payload Payload response from the API
|
|
241
|
+
# @return [ParticipantInstance] ParticipantInstance
|
|
242
|
+
def get_instance(payload)
|
|
243
|
+
ParticipantInstance.new(
|
|
244
|
+
@version,
|
|
245
|
+
payload,
|
|
246
|
+
account_sid: @solution[:account_sid],
|
|
247
|
+
conference_sid: @solution[:conference_sid],
|
|
248
|
+
)
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
##
|
|
252
|
+
# Provide a user friendly representation
|
|
253
|
+
def to_s
|
|
254
|
+
'<Twilio.Api.V2010.ParticipantPage>'
|
|
255
|
+
end
|
|
256
|
+
end
|
|
257
|
+
|
|
258
|
+
class ParticipantContext < InstanceContext
|
|
259
|
+
##
|
|
260
|
+
# Initialize the ParticipantContext
|
|
261
|
+
# @param [Version] version Version that contains the resource
|
|
262
|
+
# @param [String] account_sid The account_sid
|
|
263
|
+
# @param [String] conference_sid The string that uniquely identifies the
|
|
264
|
+
# conference this participant is in
|
|
265
|
+
# @param [String] call_sid The call_sid
|
|
266
|
+
# @return [ParticipantContext] ParticipantContext
|
|
267
|
+
def initialize(version, account_sid, conference_sid, call_sid)
|
|
268
|
+
super(version)
|
|
269
|
+
|
|
270
|
+
# Path Solution
|
|
271
|
+
@solution = {
|
|
272
|
+
account_sid: account_sid,
|
|
273
|
+
conference_sid: conference_sid,
|
|
274
|
+
call_sid: call_sid,
|
|
275
|
+
}
|
|
276
|
+
@uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants/#{@solution[:call_sid]}.json"
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
##
|
|
280
|
+
# Fetch a ParticipantInstance
|
|
281
|
+
# @return [ParticipantInstance] Fetched ParticipantInstance
|
|
282
|
+
def fetch
|
|
283
|
+
params = Twilio::Values.of({})
|
|
284
|
+
|
|
285
|
+
payload = @version.fetch(
|
|
286
|
+
'GET',
|
|
287
|
+
@uri,
|
|
288
|
+
params,
|
|
289
|
+
)
|
|
290
|
+
|
|
291
|
+
ParticipantInstance.new(
|
|
292
|
+
@version,
|
|
293
|
+
payload,
|
|
294
|
+
account_sid: @solution[:account_sid],
|
|
295
|
+
conference_sid: @solution[:conference_sid],
|
|
296
|
+
call_sid: @solution[:call_sid],
|
|
297
|
+
)
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
##
|
|
301
|
+
# Update the ParticipantInstance
|
|
302
|
+
# @param [Boolean] muted Indicates if the participant should be muted
|
|
303
|
+
# @param [Boolean] hold The hold
|
|
304
|
+
# @param [String] hold_url The hold_url
|
|
305
|
+
# @param [String] hold_method The hold_method
|
|
306
|
+
# @param [String] announce_url The announce_url
|
|
307
|
+
# @param [String] announce_method The announce_method
|
|
308
|
+
# @return [ParticipantInstance] Updated ParticipantInstance
|
|
309
|
+
def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset)
|
|
310
|
+
data = Twilio::Values.of({
|
|
311
|
+
'Muted' => muted,
|
|
312
|
+
'Hold' => hold,
|
|
313
|
+
'HoldUrl' => hold_url,
|
|
314
|
+
'HoldMethod' => hold_method,
|
|
315
|
+
'AnnounceUrl' => announce_url,
|
|
316
|
+
'AnnounceMethod' => announce_method,
|
|
317
|
+
})
|
|
318
|
+
|
|
319
|
+
payload = @version.update(
|
|
320
|
+
'POST',
|
|
321
|
+
@uri,
|
|
322
|
+
data: data,
|
|
323
|
+
)
|
|
324
|
+
|
|
325
|
+
ParticipantInstance.new(
|
|
326
|
+
@version,
|
|
327
|
+
payload,
|
|
328
|
+
account_sid: @solution[:account_sid],
|
|
329
|
+
conference_sid: @solution[:conference_sid],
|
|
330
|
+
call_sid: @solution[:call_sid],
|
|
331
|
+
)
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
##
|
|
335
|
+
# Deletes the ParticipantInstance
|
|
336
|
+
# @return [Boolean] true if delete succeeds, true otherwise
|
|
337
|
+
def delete
|
|
338
|
+
@version.delete('delete', @uri)
|
|
339
|
+
end
|
|
340
|
+
|
|
341
|
+
##
|
|
342
|
+
# Provide a user friendly representation
|
|
343
|
+
def to_s
|
|
344
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
|
345
|
+
"#<Twilio.Api.V2010.ParticipantContext #{context}>"
|
|
346
|
+
end
|
|
347
|
+
end
|
|
348
|
+
|
|
349
|
+
class ParticipantInstance < InstanceResource
|
|
350
|
+
##
|
|
351
|
+
# Initialize the ParticipantInstance
|
|
352
|
+
# @param [Version] version Version that contains the resource
|
|
353
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
354
|
+
# @param [String] account_sid The unique id of the Account that created this
|
|
355
|
+
# conference
|
|
356
|
+
# @param [String] conference_sid A 34 character string that identifies the
|
|
357
|
+
# conference this participant is in
|
|
358
|
+
# @param [String] call_sid The call_sid
|
|
359
|
+
# @return [ParticipantInstance] ParticipantInstance
|
|
360
|
+
def initialize(version, payload, account_sid: nil, conference_sid: nil, call_sid: nil)
|
|
361
|
+
super(version)
|
|
362
|
+
|
|
363
|
+
# Marshaled Properties
|
|
364
|
+
@properties = {
|
|
365
|
+
'account_sid' => payload['account_sid'],
|
|
366
|
+
'call_sid' => payload['call_sid'],
|
|
367
|
+
'conference_sid' => payload['conference_sid'],
|
|
368
|
+
'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
|
|
369
|
+
'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
|
|
370
|
+
'end_conference_on_exit' => payload['end_conference_on_exit'],
|
|
371
|
+
'muted' => payload['muted'],
|
|
372
|
+
'hold' => payload['hold'],
|
|
373
|
+
'start_conference_on_enter' => payload['start_conference_on_enter'],
|
|
374
|
+
'status' => payload['status'],
|
|
375
|
+
'uri' => payload['uri'],
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
# Context
|
|
379
|
+
@instance_context = nil
|
|
380
|
+
@params = {
|
|
381
|
+
'account_sid' => account_sid,
|
|
382
|
+
'conference_sid' => conference_sid,
|
|
383
|
+
'call_sid' => call_sid || @properties['call_sid'],
|
|
384
|
+
}
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
##
|
|
388
|
+
# Generate an instance context for the instance, the context is capable of
|
|
389
|
+
# performing various actions. All instance actions are proxied to the context
|
|
390
|
+
# @return [ParticipantContext] ParticipantContext for this ParticipantInstance
|
|
391
|
+
def context
|
|
392
|
+
unless @instance_context
|
|
393
|
+
@instance_context = ParticipantContext.new(
|
|
394
|
+
@version,
|
|
395
|
+
@params['account_sid'],
|
|
396
|
+
@params['conference_sid'],
|
|
397
|
+
@params['call_sid'],
|
|
398
|
+
)
|
|
399
|
+
end
|
|
400
|
+
@instance_context
|
|
401
|
+
end
|
|
402
|
+
|
|
403
|
+
##
|
|
404
|
+
# @return [String] The unique sid that identifies this account
|
|
405
|
+
def account_sid
|
|
406
|
+
@properties['account_sid']
|
|
407
|
+
end
|
|
408
|
+
|
|
409
|
+
##
|
|
410
|
+
# @return [String] A string that uniquely identifies this call
|
|
411
|
+
def call_sid
|
|
412
|
+
@properties['call_sid']
|
|
413
|
+
end
|
|
414
|
+
|
|
415
|
+
##
|
|
416
|
+
# @return [String] A string that uniquely identifies this conference
|
|
417
|
+
def conference_sid
|
|
418
|
+
@properties['conference_sid']
|
|
419
|
+
end
|
|
420
|
+
|
|
421
|
+
##
|
|
422
|
+
# @return [Time] The date this resource was created
|
|
423
|
+
def date_created
|
|
424
|
+
@properties['date_created']
|
|
425
|
+
end
|
|
426
|
+
|
|
427
|
+
##
|
|
428
|
+
# @return [Time] The date this resource was last updated
|
|
429
|
+
def date_updated
|
|
430
|
+
@properties['date_updated']
|
|
431
|
+
end
|
|
432
|
+
|
|
433
|
+
##
|
|
434
|
+
# @return [Boolean] Indicates if the endConferenceOnExit was set
|
|
435
|
+
def end_conference_on_exit
|
|
436
|
+
@properties['end_conference_on_exit']
|
|
437
|
+
end
|
|
438
|
+
|
|
439
|
+
##
|
|
440
|
+
# @return [Boolean] Indicates if the participant is muted
|
|
441
|
+
def muted
|
|
442
|
+
@properties['muted']
|
|
443
|
+
end
|
|
444
|
+
|
|
445
|
+
##
|
|
446
|
+
# @return [Boolean] The hold
|
|
447
|
+
def hold
|
|
448
|
+
@properties['hold']
|
|
449
|
+
end
|
|
450
|
+
|
|
451
|
+
##
|
|
452
|
+
# @return [Boolean] Indicates if the startConferenceOnEnter attribute was set
|
|
453
|
+
def start_conference_on_enter
|
|
454
|
+
@properties['start_conference_on_enter']
|
|
455
|
+
end
|
|
456
|
+
|
|
457
|
+
##
|
|
458
|
+
# @return [participant.Status] The status
|
|
459
|
+
def status
|
|
460
|
+
@properties['status']
|
|
461
|
+
end
|
|
462
|
+
|
|
463
|
+
##
|
|
464
|
+
# @return [String] The URI for this resource
|
|
465
|
+
def uri
|
|
466
|
+
@properties['uri']
|
|
467
|
+
end
|
|
468
|
+
|
|
469
|
+
##
|
|
470
|
+
# Fetch a ParticipantInstance
|
|
471
|
+
# @return [ParticipantInstance] Fetched ParticipantInstance
|
|
472
|
+
def fetch
|
|
473
|
+
context.fetch
|
|
474
|
+
end
|
|
475
|
+
|
|
476
|
+
##
|
|
477
|
+
# Update the ParticipantInstance
|
|
478
|
+
# @param [Boolean] muted Indicates if the participant should be muted
|
|
479
|
+
# @param [Boolean] hold The hold
|
|
480
|
+
# @param [String] hold_url The hold_url
|
|
481
|
+
# @param [String] hold_method The hold_method
|
|
482
|
+
# @param [String] announce_url The announce_url
|
|
483
|
+
# @param [String] announce_method The announce_method
|
|
484
|
+
# @return [ParticipantInstance] Updated ParticipantInstance
|
|
485
|
+
def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset)
|
|
486
|
+
context.update(
|
|
487
|
+
muted: muted,
|
|
488
|
+
hold: hold,
|
|
489
|
+
hold_url: hold_url,
|
|
490
|
+
hold_method: hold_method,
|
|
491
|
+
announce_url: announce_url,
|
|
492
|
+
announce_method: announce_method,
|
|
493
|
+
)
|
|
494
|
+
end
|
|
495
|
+
|
|
496
|
+
##
|
|
497
|
+
# Deletes the ParticipantInstance
|
|
498
|
+
# @return [Boolean] true if delete succeeds, true otherwise
|
|
499
|
+
def delete
|
|
500
|
+
context.delete
|
|
501
|
+
end
|
|
502
|
+
|
|
503
|
+
##
|
|
504
|
+
# Provide a user friendly representation
|
|
505
|
+
def to_s
|
|
506
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
|
507
|
+
"<Twilio.Api.V2010.ParticipantInstance #{values}>"
|
|
508
|
+
end
|
|
509
|
+
end
|
|
510
|
+
end
|
|
511
|
+
end
|
|
512
|
+
end
|
|
513
|
+
end
|
|
514
|
+
end
|
|
515
|
+
end
|