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,507 @@
|
|
|
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 UsageList < ListResource
|
|
13
|
+
class TriggerList < ListResource
|
|
14
|
+
##
|
|
15
|
+
# Initialize the TriggerList
|
|
16
|
+
# @param [Version] version Version that contains the resource
|
|
17
|
+
# @param [String] account_sid A 34 character string that uniquely identifies this
|
|
18
|
+
# resource.
|
|
19
|
+
# @return [TriggerList] TriggerList
|
|
20
|
+
def initialize(version, account_sid: nil)
|
|
21
|
+
super(version)
|
|
22
|
+
|
|
23
|
+
# Path Solution
|
|
24
|
+
@solution = {
|
|
25
|
+
account_sid: account_sid
|
|
26
|
+
}
|
|
27
|
+
@uri = "/Accounts/#{@solution[:account_sid]}/Usage/Triggers.json"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
##
|
|
31
|
+
# Retrieve a single page of TriggerInstance records from the API.
|
|
32
|
+
# Request is executed immediately.
|
|
33
|
+
# @param [String] callback_url Twilio will make a request to this url when the
|
|
34
|
+
# trigger fires.
|
|
35
|
+
# @param [String] trigger_value The value at which the trigger will fire. Must be
|
|
36
|
+
# a positive numeric value.
|
|
37
|
+
# @param [trigger.UsageCategory] usage_category The usage category the trigger
|
|
38
|
+
# watches
|
|
39
|
+
# @param [String] callback_method The HTTP method Twilio will use when making a
|
|
40
|
+
# request to the CallbackUrl. GET or POST.
|
|
41
|
+
# @param [String] friendly_name A user-specified, human-readable name for the
|
|
42
|
+
# trigger.
|
|
43
|
+
# @param [trigger.Recurring] recurring How this trigger recurs. Empty for
|
|
44
|
+
# non-recurring triggers. One of `daily`, `monthly`, or `yearly` for recurring
|
|
45
|
+
# triggers. A trigger will only fire once during each recurring period.
|
|
46
|
+
# Recurring periods are in GMT.
|
|
47
|
+
# @param [trigger.TriggerField] trigger_by The field in the UsageRecord that fires
|
|
48
|
+
# the trigger. One of `count`, `usage`, or `price`
|
|
49
|
+
# @return [TriggerInstance] Newly created TriggerInstance
|
|
50
|
+
def create(callback_url: nil, trigger_value: nil, usage_category: nil, callback_method: :unset, friendly_name: :unset, recurring: :unset, trigger_by: :unset)
|
|
51
|
+
data = Twilio::Values.of({
|
|
52
|
+
'CallbackUrl' => callback_url,
|
|
53
|
+
'TriggerValue' => trigger_value,
|
|
54
|
+
'UsageCategory' => usage_category,
|
|
55
|
+
'CallbackMethod' => callback_method,
|
|
56
|
+
'FriendlyName' => friendly_name,
|
|
57
|
+
'Recurring' => recurring,
|
|
58
|
+
'TriggerBy' => trigger_by,
|
|
59
|
+
})
|
|
60
|
+
|
|
61
|
+
payload = @version.create(
|
|
62
|
+
'POST',
|
|
63
|
+
@uri,
|
|
64
|
+
data: data
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
TriggerInstance.new(
|
|
68
|
+
@version,
|
|
69
|
+
payload,
|
|
70
|
+
account_sid: @solution[:account_sid],
|
|
71
|
+
)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
##
|
|
75
|
+
# Lists TriggerInstance records from the API as a list.
|
|
76
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
77
|
+
# memory before returning.
|
|
78
|
+
# @param [trigger.Recurring] recurring Only show UsageTriggers that count over
|
|
79
|
+
# this interval. One of daily, monthly, or yearly
|
|
80
|
+
# @param [trigger.TriggerField] trigger_by Only show UsageTriggers that trigger by
|
|
81
|
+
# this field in the UsagRecord
|
|
82
|
+
# @param [trigger.UsageCategory] usage_category Only show UsageTriggers that watch
|
|
83
|
+
# this usage category
|
|
84
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
85
|
+
# guarantees to never return more than limit. Default is no limit
|
|
86
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
87
|
+
# the default value of 50 records. If no page_size is defined
|
|
88
|
+
# but a limit is defined, stream() will attempt to read the
|
|
89
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
90
|
+
# @return [Array] Array of up to limit results
|
|
91
|
+
def list(recurring: :unset, trigger_by: :unset, usage_category: :unset, limit: nil, page_size: nil)
|
|
92
|
+
self.stream(
|
|
93
|
+
recurring: recurring,
|
|
94
|
+
trigger_by: trigger_by,
|
|
95
|
+
usage_category: usage_category,
|
|
96
|
+
limit: limit,
|
|
97
|
+
page_size: page_size
|
|
98
|
+
).entries
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
##
|
|
102
|
+
# Streams TriggerInstance records from the API as an Enumerable.
|
|
103
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
104
|
+
# is reached.
|
|
105
|
+
# @param [trigger.Recurring] recurring Only show UsageTriggers that count over
|
|
106
|
+
# this interval. One of daily, monthly, or yearly
|
|
107
|
+
# @param [trigger.TriggerField] trigger_by Only show UsageTriggers that trigger by
|
|
108
|
+
# this field in the UsagRecord
|
|
109
|
+
# @param [trigger.UsageCategory] usage_category Only show UsageTriggers that watch
|
|
110
|
+
# this usage category
|
|
111
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
112
|
+
# guarantees to never return more than limit. Default is no limit
|
|
113
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
114
|
+
# the default value of 50 records. If no page_size is defined
|
|
115
|
+
# but a limit is defined, stream() will attempt to read the
|
|
116
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
117
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
118
|
+
def stream(recurring: :unset, trigger_by: :unset, usage_category: :unset, limit: nil, page_size: nil)
|
|
119
|
+
limits = @version.read_limits(limit, page_size)
|
|
120
|
+
|
|
121
|
+
page = self.page(
|
|
122
|
+
recurring: recurring,
|
|
123
|
+
trigger_by: trigger_by,
|
|
124
|
+
usage_category: usage_category,
|
|
125
|
+
page_size: limits[:page_size],
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
##
|
|
132
|
+
# When passed a block, yields TriggerInstance records from the API.
|
|
133
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
134
|
+
# is reached.
|
|
135
|
+
def each
|
|
136
|
+
limits = @version.read_limits
|
|
137
|
+
|
|
138
|
+
page = self.page(
|
|
139
|
+
page_size: limits[:page_size],
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
@version.stream(page,
|
|
143
|
+
limit: limits[:limit],
|
|
144
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
##
|
|
148
|
+
# Retrieve a single page of TriggerInstance records from the API.
|
|
149
|
+
# Request is executed immediately.
|
|
150
|
+
# @param [trigger.Recurring] recurring Only show UsageTriggers that count over
|
|
151
|
+
# this interval. One of daily, monthly, or yearly
|
|
152
|
+
# @param [trigger.TriggerField] trigger_by Only show UsageTriggers that trigger by
|
|
153
|
+
# this field in the UsagRecord
|
|
154
|
+
# @param [trigger.UsageCategory] usage_category Only show UsageTriggers that watch
|
|
155
|
+
# this usage category
|
|
156
|
+
# @param [String] page_token PageToken provided by the API
|
|
157
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
158
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
159
|
+
# @return [Page] Page of TriggerInstance
|
|
160
|
+
def page(recurring: :unset, trigger_by: :unset, usage_category: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
|
161
|
+
params = Twilio::Values.of({
|
|
162
|
+
'Recurring' => recurring,
|
|
163
|
+
'TriggerBy' => trigger_by,
|
|
164
|
+
'UsageCategory' => usage_category,
|
|
165
|
+
'PageToken' => page_token,
|
|
166
|
+
'Page' => page_number,
|
|
167
|
+
'PageSize' => page_size,
|
|
168
|
+
})
|
|
169
|
+
response = @version.page(
|
|
170
|
+
'GET',
|
|
171
|
+
@uri,
|
|
172
|
+
params
|
|
173
|
+
)
|
|
174
|
+
TriggerPage.new(@version, response, @solution)
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
##
|
|
178
|
+
# Retrieve a single page of TriggerInstance records from the API.
|
|
179
|
+
# Request is executed immediately.
|
|
180
|
+
# @param [String] target_url API-generated URL for the requested results page
|
|
181
|
+
# @return [Page] Page of TriggerInstance
|
|
182
|
+
def get_page(target_url)
|
|
183
|
+
response = @version.domain.request(
|
|
184
|
+
'GET',
|
|
185
|
+
target_url
|
|
186
|
+
)
|
|
187
|
+
TriggerPage.new(@version, response, @solution)
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
##
|
|
191
|
+
# Provide a user friendly representation
|
|
192
|
+
def to_s
|
|
193
|
+
'#<Twilio.Api.V2010.TriggerList>'
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
class TriggerPage < Page
|
|
198
|
+
##
|
|
199
|
+
# Initialize the TriggerPage
|
|
200
|
+
# @param [Version] version Version that contains the resource
|
|
201
|
+
# @param [Response] response Response from the API
|
|
202
|
+
# @param [Hash] solution Path solution for the resource
|
|
203
|
+
# @return [TriggerPage] TriggerPage
|
|
204
|
+
def initialize(version, response, solution)
|
|
205
|
+
super(version, response)
|
|
206
|
+
|
|
207
|
+
# Path Solution
|
|
208
|
+
@solution = solution
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
##
|
|
212
|
+
# Build an instance of TriggerInstance
|
|
213
|
+
# @param [Hash] payload Payload response from the API
|
|
214
|
+
# @return [TriggerInstance] TriggerInstance
|
|
215
|
+
def get_instance(payload)
|
|
216
|
+
TriggerInstance.new(
|
|
217
|
+
@version,
|
|
218
|
+
payload,
|
|
219
|
+
account_sid: @solution[:account_sid],
|
|
220
|
+
)
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
##
|
|
224
|
+
# Provide a user friendly representation
|
|
225
|
+
def to_s
|
|
226
|
+
'<Twilio.Api.V2010.TriggerPage>'
|
|
227
|
+
end
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
class TriggerContext < InstanceContext
|
|
231
|
+
##
|
|
232
|
+
# Initialize the TriggerContext
|
|
233
|
+
# @param [Version] version Version that contains the resource
|
|
234
|
+
# @param [String] account_sid The account_sid
|
|
235
|
+
# @param [String] sid The usage-trigger Sid that uniquely identifies this resource
|
|
236
|
+
# @return [TriggerContext] TriggerContext
|
|
237
|
+
def initialize(version, account_sid, sid)
|
|
238
|
+
super(version)
|
|
239
|
+
|
|
240
|
+
# Path Solution
|
|
241
|
+
@solution = {
|
|
242
|
+
account_sid: account_sid,
|
|
243
|
+
sid: sid,
|
|
244
|
+
}
|
|
245
|
+
@uri = "/Accounts/#{@solution[:account_sid]}/Usage/Triggers/#{@solution[:sid]}.json"
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
##
|
|
249
|
+
# Fetch a TriggerInstance
|
|
250
|
+
# @return [TriggerInstance] Fetched TriggerInstance
|
|
251
|
+
def fetch
|
|
252
|
+
params = Twilio::Values.of({})
|
|
253
|
+
|
|
254
|
+
payload = @version.fetch(
|
|
255
|
+
'GET',
|
|
256
|
+
@uri,
|
|
257
|
+
params,
|
|
258
|
+
)
|
|
259
|
+
|
|
260
|
+
TriggerInstance.new(
|
|
261
|
+
@version,
|
|
262
|
+
payload,
|
|
263
|
+
account_sid: @solution[:account_sid],
|
|
264
|
+
sid: @solution[:sid],
|
|
265
|
+
)
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
##
|
|
269
|
+
# Update the TriggerInstance
|
|
270
|
+
# @param [String] callback_method The HTTP method Twilio will use when making a
|
|
271
|
+
# request to the CallbackUrl. GET or POST.
|
|
272
|
+
# @param [String] callback_url Twilio will make a request to this url when the
|
|
273
|
+
# trigger fires.
|
|
274
|
+
# @param [String] friendly_name A user-specified, human-readable name for the
|
|
275
|
+
# trigger.
|
|
276
|
+
# @return [TriggerInstance] Updated TriggerInstance
|
|
277
|
+
def update(callback_method: :unset, callback_url: :unset, friendly_name: :unset)
|
|
278
|
+
data = Twilio::Values.of({
|
|
279
|
+
'CallbackMethod' => callback_method,
|
|
280
|
+
'CallbackUrl' => callback_url,
|
|
281
|
+
'FriendlyName' => friendly_name,
|
|
282
|
+
})
|
|
283
|
+
|
|
284
|
+
payload = @version.update(
|
|
285
|
+
'POST',
|
|
286
|
+
@uri,
|
|
287
|
+
data: data,
|
|
288
|
+
)
|
|
289
|
+
|
|
290
|
+
TriggerInstance.new(
|
|
291
|
+
@version,
|
|
292
|
+
payload,
|
|
293
|
+
account_sid: @solution[:account_sid],
|
|
294
|
+
sid: @solution[:sid],
|
|
295
|
+
)
|
|
296
|
+
end
|
|
297
|
+
|
|
298
|
+
##
|
|
299
|
+
# Deletes the TriggerInstance
|
|
300
|
+
# @return [Boolean] true if delete succeeds, true otherwise
|
|
301
|
+
def delete
|
|
302
|
+
@version.delete('delete', @uri)
|
|
303
|
+
end
|
|
304
|
+
|
|
305
|
+
##
|
|
306
|
+
# Provide a user friendly representation
|
|
307
|
+
def to_s
|
|
308
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
|
309
|
+
"#<Twilio.Api.V2010.TriggerContext #{context}>"
|
|
310
|
+
end
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
class TriggerInstance < InstanceResource
|
|
314
|
+
##
|
|
315
|
+
# Initialize the TriggerInstance
|
|
316
|
+
# @param [Version] version Version that contains the resource
|
|
317
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
318
|
+
# @param [String] account_sid A 34 character string that uniquely identifies this
|
|
319
|
+
# resource.
|
|
320
|
+
# @param [String] sid The usage-trigger Sid that uniquely identifies this resource
|
|
321
|
+
# @return [TriggerInstance] TriggerInstance
|
|
322
|
+
def initialize(version, payload, account_sid: nil, sid: nil)
|
|
323
|
+
super(version)
|
|
324
|
+
|
|
325
|
+
# Marshaled Properties
|
|
326
|
+
@properties = {
|
|
327
|
+
'account_sid' => payload['account_sid'],
|
|
328
|
+
'api_version' => payload['api_version'],
|
|
329
|
+
'callback_method' => payload['callback_method'],
|
|
330
|
+
'callback_url' => payload['callback_url'],
|
|
331
|
+
'current_value' => payload['current_value'],
|
|
332
|
+
'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
|
|
333
|
+
'date_fired' => Twilio.deserialize_rfc2822(payload['date_fired']),
|
|
334
|
+
'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
|
|
335
|
+
'friendly_name' => payload['friendly_name'],
|
|
336
|
+
'recurring' => payload['recurring'],
|
|
337
|
+
'sid' => payload['sid'],
|
|
338
|
+
'trigger_by' => payload['trigger_by'],
|
|
339
|
+
'trigger_value' => payload['trigger_value'],
|
|
340
|
+
'uri' => payload['uri'],
|
|
341
|
+
'usage_category' => payload['usage_category'],
|
|
342
|
+
'usage_record_uri' => payload['usage_record_uri'],
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
# Context
|
|
346
|
+
@instance_context = nil
|
|
347
|
+
@params = {
|
|
348
|
+
'account_sid' => account_sid,
|
|
349
|
+
'sid' => sid || @properties['sid'],
|
|
350
|
+
}
|
|
351
|
+
end
|
|
352
|
+
|
|
353
|
+
##
|
|
354
|
+
# Generate an instance context for the instance, the context is capable of
|
|
355
|
+
# performing various actions. All instance actions are proxied to the context
|
|
356
|
+
# @return [TriggerContext] TriggerContext for this TriggerInstance
|
|
357
|
+
def context
|
|
358
|
+
unless @instance_context
|
|
359
|
+
@instance_context = TriggerContext.new(
|
|
360
|
+
@version,
|
|
361
|
+
@params['account_sid'],
|
|
362
|
+
@params['sid'],
|
|
363
|
+
)
|
|
364
|
+
end
|
|
365
|
+
@instance_context
|
|
366
|
+
end
|
|
367
|
+
|
|
368
|
+
##
|
|
369
|
+
# @return [String] The account this trigger monitors.
|
|
370
|
+
def account_sid
|
|
371
|
+
@properties['account_sid']
|
|
372
|
+
end
|
|
373
|
+
|
|
374
|
+
##
|
|
375
|
+
# @return [String] The api_version
|
|
376
|
+
def api_version
|
|
377
|
+
@properties['api_version']
|
|
378
|
+
end
|
|
379
|
+
|
|
380
|
+
##
|
|
381
|
+
# @return [String] HTTP method to use with callback_url
|
|
382
|
+
def callback_method
|
|
383
|
+
@properties['callback_method']
|
|
384
|
+
end
|
|
385
|
+
|
|
386
|
+
##
|
|
387
|
+
# @return [String] URL Twilio will request when the trigger fires
|
|
388
|
+
def callback_url
|
|
389
|
+
@properties['callback_url']
|
|
390
|
+
end
|
|
391
|
+
|
|
392
|
+
##
|
|
393
|
+
# @return [String] The current value of the field the trigger is watching.
|
|
394
|
+
def current_value
|
|
395
|
+
@properties['current_value']
|
|
396
|
+
end
|
|
397
|
+
|
|
398
|
+
##
|
|
399
|
+
# @return [Time] The date this resource was created
|
|
400
|
+
def date_created
|
|
401
|
+
@properties['date_created']
|
|
402
|
+
end
|
|
403
|
+
|
|
404
|
+
##
|
|
405
|
+
# @return [Time] The date the trigger was last fired
|
|
406
|
+
def date_fired
|
|
407
|
+
@properties['date_fired']
|
|
408
|
+
end
|
|
409
|
+
|
|
410
|
+
##
|
|
411
|
+
# @return [Time] The date this resource was last updated
|
|
412
|
+
def date_updated
|
|
413
|
+
@properties['date_updated']
|
|
414
|
+
end
|
|
415
|
+
|
|
416
|
+
##
|
|
417
|
+
# @return [String] A user-specified, human-readable name for the trigger.
|
|
418
|
+
def friendly_name
|
|
419
|
+
@properties['friendly_name']
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
##
|
|
423
|
+
# @return [trigger.Recurring] How this trigger recurs
|
|
424
|
+
def recurring
|
|
425
|
+
@properties['recurring']
|
|
426
|
+
end
|
|
427
|
+
|
|
428
|
+
##
|
|
429
|
+
# @return [String] The trigger's unique Sid
|
|
430
|
+
def sid
|
|
431
|
+
@properties['sid']
|
|
432
|
+
end
|
|
433
|
+
|
|
434
|
+
##
|
|
435
|
+
# @return [trigger.TriggerField] The field in the UsageRecord that fires the trigger
|
|
436
|
+
def trigger_by
|
|
437
|
+
@properties['trigger_by']
|
|
438
|
+
end
|
|
439
|
+
|
|
440
|
+
##
|
|
441
|
+
# @return [String] the value at which the trigger will fire
|
|
442
|
+
def trigger_value
|
|
443
|
+
@properties['trigger_value']
|
|
444
|
+
end
|
|
445
|
+
|
|
446
|
+
##
|
|
447
|
+
# @return [String] The URI for this resource
|
|
448
|
+
def uri
|
|
449
|
+
@properties['uri']
|
|
450
|
+
end
|
|
451
|
+
|
|
452
|
+
##
|
|
453
|
+
# @return [trigger.UsageCategory] The usage category the trigger watches
|
|
454
|
+
def usage_category
|
|
455
|
+
@properties['usage_category']
|
|
456
|
+
end
|
|
457
|
+
|
|
458
|
+
##
|
|
459
|
+
# @return [String] The URI of the UsageRecord this trigger is watching
|
|
460
|
+
def usage_record_uri
|
|
461
|
+
@properties['usage_record_uri']
|
|
462
|
+
end
|
|
463
|
+
|
|
464
|
+
##
|
|
465
|
+
# Fetch a TriggerInstance
|
|
466
|
+
# @return [TriggerInstance] Fetched TriggerInstance
|
|
467
|
+
def fetch
|
|
468
|
+
context.fetch
|
|
469
|
+
end
|
|
470
|
+
|
|
471
|
+
##
|
|
472
|
+
# Update the TriggerInstance
|
|
473
|
+
# @param [String] callback_method The HTTP method Twilio will use when making a
|
|
474
|
+
# request to the CallbackUrl. GET or POST.
|
|
475
|
+
# @param [String] callback_url Twilio will make a request to this url when the
|
|
476
|
+
# trigger fires.
|
|
477
|
+
# @param [String] friendly_name A user-specified, human-readable name for the
|
|
478
|
+
# trigger.
|
|
479
|
+
# @return [TriggerInstance] Updated TriggerInstance
|
|
480
|
+
def update(callback_method: :unset, callback_url: :unset, friendly_name: :unset)
|
|
481
|
+
context.update(
|
|
482
|
+
callback_method: callback_method,
|
|
483
|
+
callback_url: callback_url,
|
|
484
|
+
friendly_name: friendly_name,
|
|
485
|
+
)
|
|
486
|
+
end
|
|
487
|
+
|
|
488
|
+
##
|
|
489
|
+
# Deletes the TriggerInstance
|
|
490
|
+
# @return [Boolean] true if delete succeeds, true otherwise
|
|
491
|
+
def delete
|
|
492
|
+
context.delete
|
|
493
|
+
end
|
|
494
|
+
|
|
495
|
+
##
|
|
496
|
+
# Provide a user friendly representation
|
|
497
|
+
def to_s
|
|
498
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
|
499
|
+
"<Twilio.Api.V2010.TriggerInstance #{values}>"
|
|
500
|
+
end
|
|
501
|
+
end
|
|
502
|
+
end
|
|
503
|
+
end
|
|
504
|
+
end
|
|
505
|
+
end
|
|
506
|
+
end
|
|
507
|
+
end
|
|
@@ -0,0 +1,127 @@
|
|
|
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 UsageList < ListResource
|
|
13
|
+
##
|
|
14
|
+
# Initialize the UsageList
|
|
15
|
+
# @param [Version] version Version that contains the resource
|
|
16
|
+
# @param [String] account_sid A 34 character string that uniquely identifies this
|
|
17
|
+
# resource.
|
|
18
|
+
# @return [UsageList] UsageList
|
|
19
|
+
def initialize(version, account_sid: nil)
|
|
20
|
+
super(version)
|
|
21
|
+
|
|
22
|
+
# Path Solution
|
|
23
|
+
@solution = {
|
|
24
|
+
account_sid: account_sid
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
# Components
|
|
28
|
+
@records = nil
|
|
29
|
+
@triggers = nil
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
##
|
|
33
|
+
# Access the records
|
|
34
|
+
# @return [RecordList]
|
|
35
|
+
# @return [RecordContext]
|
|
36
|
+
def records
|
|
37
|
+
@records ||= RecordList.new(
|
|
38
|
+
@version,
|
|
39
|
+
account_sid: @solution[:account_sid],
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
##
|
|
44
|
+
# Access the triggers
|
|
45
|
+
# @param [String] sid The usage-trigger Sid that uniquely identifies this resource
|
|
46
|
+
# @return [TriggerList]
|
|
47
|
+
# @return [TriggerContext] if sid was passed.
|
|
48
|
+
def triggers(sid=:unset)
|
|
49
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
|
50
|
+
|
|
51
|
+
if sid != :unset
|
|
52
|
+
return TriggerContext.new(
|
|
53
|
+
@version,
|
|
54
|
+
@solution[:account_sid],
|
|
55
|
+
sid,
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
@triggers ||= TriggerList.new(
|
|
60
|
+
@version,
|
|
61
|
+
account_sid: @solution[:account_sid],
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
##
|
|
66
|
+
# Provide a user friendly representation
|
|
67
|
+
def to_s
|
|
68
|
+
'#<Twilio.Api.V2010.UsageList>'
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
class UsagePage < Page
|
|
73
|
+
##
|
|
74
|
+
# Initialize the UsagePage
|
|
75
|
+
# @param [Version] version Version that contains the resource
|
|
76
|
+
# @param [Response] response Response from the API
|
|
77
|
+
# @param [Hash] solution Path solution for the resource
|
|
78
|
+
# @return [UsagePage] UsagePage
|
|
79
|
+
def initialize(version, response, solution)
|
|
80
|
+
super(version, response)
|
|
81
|
+
|
|
82
|
+
# Path Solution
|
|
83
|
+
@solution = solution
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
##
|
|
87
|
+
# Build an instance of UsageInstance
|
|
88
|
+
# @param [Hash] payload Payload response from the API
|
|
89
|
+
# @return [UsageInstance] UsageInstance
|
|
90
|
+
def get_instance(payload)
|
|
91
|
+
UsageInstance.new(
|
|
92
|
+
@version,
|
|
93
|
+
payload,
|
|
94
|
+
account_sid: @solution[:account_sid],
|
|
95
|
+
)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
##
|
|
99
|
+
# Provide a user friendly representation
|
|
100
|
+
def to_s
|
|
101
|
+
'<Twilio.Api.V2010.UsagePage>'
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
class UsageInstance < InstanceResource
|
|
106
|
+
##
|
|
107
|
+
# Initialize the UsageInstance
|
|
108
|
+
# @param [Version] version Version that contains the resource
|
|
109
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
110
|
+
# @param [String] account_sid A 34 character string that uniquely identifies this
|
|
111
|
+
# resource.
|
|
112
|
+
# @return [UsageInstance] UsageInstance
|
|
113
|
+
def initialize(version, payload, account_sid: nil)
|
|
114
|
+
super(version)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
##
|
|
118
|
+
# Provide a user friendly representation
|
|
119
|
+
def to_s
|
|
120
|
+
"<Twilio.Api.V2010.UsageInstance>"
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|