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,304 @@
|
|
|
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 RecordList < ListResource
|
|
14
|
+
class YearlyList < ListResource
|
|
15
|
+
##
|
|
16
|
+
# Initialize the YearlyList
|
|
17
|
+
# @param [Version] version Version that contains the resource
|
|
18
|
+
# @param [String] account_sid A 34 character string that uniquely identifies this
|
|
19
|
+
# resource.
|
|
20
|
+
# @return [YearlyList] YearlyList
|
|
21
|
+
def initialize(version, account_sid: nil)
|
|
22
|
+
super(version)
|
|
23
|
+
|
|
24
|
+
# Path Solution
|
|
25
|
+
@solution = {
|
|
26
|
+
account_sid: account_sid
|
|
27
|
+
}
|
|
28
|
+
@uri = "/Accounts/#{@solution[:account_sid]}/Usage/Records/Yearly.json"
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
##
|
|
32
|
+
# Lists YearlyInstance records from the API as a list.
|
|
33
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
34
|
+
# memory before returning.
|
|
35
|
+
# @param [yearly.Category] category The category
|
|
36
|
+
# @param [Date] start_date The start_date
|
|
37
|
+
# @param [Date] end_date The end_date
|
|
38
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
39
|
+
# guarantees to never return more than limit. Default is no limit
|
|
40
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
41
|
+
# the default value of 50 records. If no page_size is defined
|
|
42
|
+
# but a limit is defined, stream() will attempt to read the
|
|
43
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
44
|
+
# @return [Array] Array of up to limit results
|
|
45
|
+
def list(category: :unset, start_date: :unset, end_date: :unset, limit: nil, page_size: nil)
|
|
46
|
+
self.stream(
|
|
47
|
+
category: category,
|
|
48
|
+
start_date: start_date,
|
|
49
|
+
end_date: end_date,
|
|
50
|
+
limit: limit,
|
|
51
|
+
page_size: page_size
|
|
52
|
+
).entries
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
##
|
|
56
|
+
# Streams YearlyInstance records from the API as an Enumerable.
|
|
57
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
58
|
+
# is reached.
|
|
59
|
+
# @param [yearly.Category] category The category
|
|
60
|
+
# @param [Date] start_date The start_date
|
|
61
|
+
# @param [Date] end_date The end_date
|
|
62
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
63
|
+
# guarantees to never return more than limit. Default is no limit
|
|
64
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
65
|
+
# the default value of 50 records. If no page_size is defined
|
|
66
|
+
# but a limit is defined, stream() will attempt to read the
|
|
67
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
68
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
69
|
+
def stream(category: :unset, start_date: :unset, end_date: :unset, limit: nil, page_size: nil)
|
|
70
|
+
limits = @version.read_limits(limit, page_size)
|
|
71
|
+
|
|
72
|
+
page = self.page(
|
|
73
|
+
category: category,
|
|
74
|
+
start_date: start_date,
|
|
75
|
+
end_date: end_date,
|
|
76
|
+
page_size: limits[:page_size],
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
##
|
|
83
|
+
# When passed a block, yields YearlyInstance records from the API.
|
|
84
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
85
|
+
# is reached.
|
|
86
|
+
def each
|
|
87
|
+
limits = @version.read_limits
|
|
88
|
+
|
|
89
|
+
page = self.page(
|
|
90
|
+
page_size: limits[:page_size],
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
@version.stream(page,
|
|
94
|
+
limit: limits[:limit],
|
|
95
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
##
|
|
99
|
+
# Retrieve a single page of YearlyInstance records from the API.
|
|
100
|
+
# Request is executed immediately.
|
|
101
|
+
# @param [yearly.Category] category The category
|
|
102
|
+
# @param [Date] start_date The start_date
|
|
103
|
+
# @param [Date] end_date The end_date
|
|
104
|
+
# @param [String] page_token PageToken provided by the API
|
|
105
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
106
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
107
|
+
# @return [Page] Page of YearlyInstance
|
|
108
|
+
def page(category: :unset, start_date: :unset, end_date: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
|
109
|
+
params = Twilio::Values.of({
|
|
110
|
+
'Category' => category,
|
|
111
|
+
'StartDate' => Twilio.serialize_iso8601_date(start_date),
|
|
112
|
+
'EndDate' => Twilio.serialize_iso8601_date(end_date),
|
|
113
|
+
'PageToken' => page_token,
|
|
114
|
+
'Page' => page_number,
|
|
115
|
+
'PageSize' => page_size,
|
|
116
|
+
})
|
|
117
|
+
response = @version.page(
|
|
118
|
+
'GET',
|
|
119
|
+
@uri,
|
|
120
|
+
params
|
|
121
|
+
)
|
|
122
|
+
YearlyPage.new(@version, response, @solution)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
##
|
|
126
|
+
# Retrieve a single page of YearlyInstance records from the API.
|
|
127
|
+
# Request is executed immediately.
|
|
128
|
+
# @param [String] target_url API-generated URL for the requested results page
|
|
129
|
+
# @return [Page] Page of YearlyInstance
|
|
130
|
+
def get_page(target_url)
|
|
131
|
+
response = @version.domain.request(
|
|
132
|
+
'GET',
|
|
133
|
+
target_url
|
|
134
|
+
)
|
|
135
|
+
YearlyPage.new(@version, response, @solution)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
##
|
|
139
|
+
# Provide a user friendly representation
|
|
140
|
+
def to_s
|
|
141
|
+
'#<Twilio.Api.V2010.YearlyList>'
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
class YearlyPage < Page
|
|
146
|
+
##
|
|
147
|
+
# Initialize the YearlyPage
|
|
148
|
+
# @param [Version] version Version that contains the resource
|
|
149
|
+
# @param [Response] response Response from the API
|
|
150
|
+
# @param [Hash] solution Path solution for the resource
|
|
151
|
+
# @return [YearlyPage] YearlyPage
|
|
152
|
+
def initialize(version, response, solution)
|
|
153
|
+
super(version, response)
|
|
154
|
+
|
|
155
|
+
# Path Solution
|
|
156
|
+
@solution = solution
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
##
|
|
160
|
+
# Build an instance of YearlyInstance
|
|
161
|
+
# @param [Hash] payload Payload response from the API
|
|
162
|
+
# @return [YearlyInstance] YearlyInstance
|
|
163
|
+
def get_instance(payload)
|
|
164
|
+
YearlyInstance.new(
|
|
165
|
+
@version,
|
|
166
|
+
payload,
|
|
167
|
+
account_sid: @solution[:account_sid],
|
|
168
|
+
)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
##
|
|
172
|
+
# Provide a user friendly representation
|
|
173
|
+
def to_s
|
|
174
|
+
'<Twilio.Api.V2010.YearlyPage>'
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
class YearlyInstance < InstanceResource
|
|
179
|
+
##
|
|
180
|
+
# Initialize the YearlyInstance
|
|
181
|
+
# @param [Version] version Version that contains the resource
|
|
182
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
183
|
+
# @param [String] account_sid A 34 character string that uniquely identifies this
|
|
184
|
+
# resource.
|
|
185
|
+
# @return [YearlyInstance] YearlyInstance
|
|
186
|
+
def initialize(version, payload, account_sid: nil)
|
|
187
|
+
super(version)
|
|
188
|
+
|
|
189
|
+
# Marshaled Properties
|
|
190
|
+
@properties = {
|
|
191
|
+
'account_sid' => payload['account_sid'],
|
|
192
|
+
'api_version' => payload['api_version'],
|
|
193
|
+
'category' => payload['category'],
|
|
194
|
+
'count' => payload['count'],
|
|
195
|
+
'count_unit' => payload['count_unit'],
|
|
196
|
+
'description' => payload['description'],
|
|
197
|
+
'end_date' => Twilio.deserialize_iso8601_date(payload['end_date']),
|
|
198
|
+
'price' => payload['price'].to_f,
|
|
199
|
+
'price_unit' => payload['price_unit'],
|
|
200
|
+
'start_date' => Twilio.deserialize_iso8601_date(payload['start_date']),
|
|
201
|
+
'subresource_uris' => payload['subresource_uris'],
|
|
202
|
+
'uri' => payload['uri'],
|
|
203
|
+
'usage' => payload['usage'],
|
|
204
|
+
'usage_unit' => payload['usage_unit'],
|
|
205
|
+
}
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
##
|
|
209
|
+
# @return [String] The account_sid
|
|
210
|
+
def account_sid
|
|
211
|
+
@properties['account_sid']
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
##
|
|
215
|
+
# @return [String] The api_version
|
|
216
|
+
def api_version
|
|
217
|
+
@properties['api_version']
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
##
|
|
221
|
+
# @return [yearly.Category] The category
|
|
222
|
+
def category
|
|
223
|
+
@properties['category']
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
##
|
|
227
|
+
# @return [String] The count
|
|
228
|
+
def count
|
|
229
|
+
@properties['count']
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
##
|
|
233
|
+
# @return [String] The count_unit
|
|
234
|
+
def count_unit
|
|
235
|
+
@properties['count_unit']
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
##
|
|
239
|
+
# @return [String] The description
|
|
240
|
+
def description
|
|
241
|
+
@properties['description']
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
##
|
|
245
|
+
# @return [Date] The end_date
|
|
246
|
+
def end_date
|
|
247
|
+
@properties['end_date']
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
##
|
|
251
|
+
# @return [String] The price
|
|
252
|
+
def price
|
|
253
|
+
@properties['price']
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
##
|
|
257
|
+
# @return [String] The price_unit
|
|
258
|
+
def price_unit
|
|
259
|
+
@properties['price_unit']
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
##
|
|
263
|
+
# @return [Date] The start_date
|
|
264
|
+
def start_date
|
|
265
|
+
@properties['start_date']
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
##
|
|
269
|
+
# @return [String] The subresource_uris
|
|
270
|
+
def subresource_uris
|
|
271
|
+
@properties['subresource_uris']
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
##
|
|
275
|
+
# @return [String] The uri
|
|
276
|
+
def uri
|
|
277
|
+
@properties['uri']
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
##
|
|
281
|
+
# @return [String] The usage
|
|
282
|
+
def usage
|
|
283
|
+
@properties['usage']
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
##
|
|
287
|
+
# @return [String] The usage_unit
|
|
288
|
+
def usage_unit
|
|
289
|
+
@properties['usage_unit']
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
##
|
|
293
|
+
# Provide a user friendly representation
|
|
294
|
+
def to_s
|
|
295
|
+
"<Twilio.Api.V2010.YearlyInstance>"
|
|
296
|
+
end
|
|
297
|
+
end
|
|
298
|
+
end
|
|
299
|
+
end
|
|
300
|
+
end
|
|
301
|
+
end
|
|
302
|
+
end
|
|
303
|
+
end
|
|
304
|
+
end
|
|
@@ -0,0 +1,304 @@
|
|
|
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 RecordList < ListResource
|
|
14
|
+
class YesterdayList < ListResource
|
|
15
|
+
##
|
|
16
|
+
# Initialize the YesterdayList
|
|
17
|
+
# @param [Version] version Version that contains the resource
|
|
18
|
+
# @param [String] account_sid A 34 character string that uniquely identifies this
|
|
19
|
+
# resource.
|
|
20
|
+
# @return [YesterdayList] YesterdayList
|
|
21
|
+
def initialize(version, account_sid: nil)
|
|
22
|
+
super(version)
|
|
23
|
+
|
|
24
|
+
# Path Solution
|
|
25
|
+
@solution = {
|
|
26
|
+
account_sid: account_sid
|
|
27
|
+
}
|
|
28
|
+
@uri = "/Accounts/#{@solution[:account_sid]}/Usage/Records/Yesterday.json"
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
##
|
|
32
|
+
# Lists YesterdayInstance records from the API as a list.
|
|
33
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
|
34
|
+
# memory before returning.
|
|
35
|
+
# @param [yesterday.Category] category The category
|
|
36
|
+
# @param [Date] start_date The start_date
|
|
37
|
+
# @param [Date] end_date The end_date
|
|
38
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
39
|
+
# guarantees to never return more than limit. Default is no limit
|
|
40
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
41
|
+
# the default value of 50 records. If no page_size is defined
|
|
42
|
+
# but a limit is defined, stream() will attempt to read the
|
|
43
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
44
|
+
# @return [Array] Array of up to limit results
|
|
45
|
+
def list(category: :unset, start_date: :unset, end_date: :unset, limit: nil, page_size: nil)
|
|
46
|
+
self.stream(
|
|
47
|
+
category: category,
|
|
48
|
+
start_date: start_date,
|
|
49
|
+
end_date: end_date,
|
|
50
|
+
limit: limit,
|
|
51
|
+
page_size: page_size
|
|
52
|
+
).entries
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
##
|
|
56
|
+
# Streams YesterdayInstance records from the API as an Enumerable.
|
|
57
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
58
|
+
# is reached.
|
|
59
|
+
# @param [yesterday.Category] category The category
|
|
60
|
+
# @param [Date] start_date The start_date
|
|
61
|
+
# @param [Date] end_date The end_date
|
|
62
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
|
63
|
+
# guarantees to never return more than limit. Default is no limit
|
|
64
|
+
# @param [Integer] page_size Number of records to fetch per request, when not set will use
|
|
65
|
+
# the default value of 50 records. If no page_size is defined
|
|
66
|
+
# but a limit is defined, stream() will attempt to read the
|
|
67
|
+
# limit with the most efficient page size, i.e. min(limit, 1000)
|
|
68
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
|
69
|
+
def stream(category: :unset, start_date: :unset, end_date: :unset, limit: nil, page_size: nil)
|
|
70
|
+
limits = @version.read_limits(limit, page_size)
|
|
71
|
+
|
|
72
|
+
page = self.page(
|
|
73
|
+
category: category,
|
|
74
|
+
start_date: start_date,
|
|
75
|
+
end_date: end_date,
|
|
76
|
+
page_size: limits[:page_size],
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
##
|
|
83
|
+
# When passed a block, yields YesterdayInstance records from the API.
|
|
84
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
|
85
|
+
# is reached.
|
|
86
|
+
def each
|
|
87
|
+
limits = @version.read_limits
|
|
88
|
+
|
|
89
|
+
page = self.page(
|
|
90
|
+
page_size: limits[:page_size],
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
@version.stream(page,
|
|
94
|
+
limit: limits[:limit],
|
|
95
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
##
|
|
99
|
+
# Retrieve a single page of YesterdayInstance records from the API.
|
|
100
|
+
# Request is executed immediately.
|
|
101
|
+
# @param [yesterday.Category] category The category
|
|
102
|
+
# @param [Date] start_date The start_date
|
|
103
|
+
# @param [Date] end_date The end_date
|
|
104
|
+
# @param [String] page_token PageToken provided by the API
|
|
105
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
|
106
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
|
107
|
+
# @return [Page] Page of YesterdayInstance
|
|
108
|
+
def page(category: :unset, start_date: :unset, end_date: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
|
|
109
|
+
params = Twilio::Values.of({
|
|
110
|
+
'Category' => category,
|
|
111
|
+
'StartDate' => Twilio.serialize_iso8601_date(start_date),
|
|
112
|
+
'EndDate' => Twilio.serialize_iso8601_date(end_date),
|
|
113
|
+
'PageToken' => page_token,
|
|
114
|
+
'Page' => page_number,
|
|
115
|
+
'PageSize' => page_size,
|
|
116
|
+
})
|
|
117
|
+
response = @version.page(
|
|
118
|
+
'GET',
|
|
119
|
+
@uri,
|
|
120
|
+
params
|
|
121
|
+
)
|
|
122
|
+
YesterdayPage.new(@version, response, @solution)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
##
|
|
126
|
+
# Retrieve a single page of YesterdayInstance records from the API.
|
|
127
|
+
# Request is executed immediately.
|
|
128
|
+
# @param [String] target_url API-generated URL for the requested results page
|
|
129
|
+
# @return [Page] Page of YesterdayInstance
|
|
130
|
+
def get_page(target_url)
|
|
131
|
+
response = @version.domain.request(
|
|
132
|
+
'GET',
|
|
133
|
+
target_url
|
|
134
|
+
)
|
|
135
|
+
YesterdayPage.new(@version, response, @solution)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
##
|
|
139
|
+
# Provide a user friendly representation
|
|
140
|
+
def to_s
|
|
141
|
+
'#<Twilio.Api.V2010.YesterdayList>'
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
class YesterdayPage < Page
|
|
146
|
+
##
|
|
147
|
+
# Initialize the YesterdayPage
|
|
148
|
+
# @param [Version] version Version that contains the resource
|
|
149
|
+
# @param [Response] response Response from the API
|
|
150
|
+
# @param [Hash] solution Path solution for the resource
|
|
151
|
+
# @return [YesterdayPage] YesterdayPage
|
|
152
|
+
def initialize(version, response, solution)
|
|
153
|
+
super(version, response)
|
|
154
|
+
|
|
155
|
+
# Path Solution
|
|
156
|
+
@solution = solution
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
##
|
|
160
|
+
# Build an instance of YesterdayInstance
|
|
161
|
+
# @param [Hash] payload Payload response from the API
|
|
162
|
+
# @return [YesterdayInstance] YesterdayInstance
|
|
163
|
+
def get_instance(payload)
|
|
164
|
+
YesterdayInstance.new(
|
|
165
|
+
@version,
|
|
166
|
+
payload,
|
|
167
|
+
account_sid: @solution[:account_sid],
|
|
168
|
+
)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
##
|
|
172
|
+
# Provide a user friendly representation
|
|
173
|
+
def to_s
|
|
174
|
+
'<Twilio.Api.V2010.YesterdayPage>'
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
class YesterdayInstance < InstanceResource
|
|
179
|
+
##
|
|
180
|
+
# Initialize the YesterdayInstance
|
|
181
|
+
# @param [Version] version Version that contains the resource
|
|
182
|
+
# @param [Hash] payload payload that contains response from Twilio
|
|
183
|
+
# @param [String] account_sid A 34 character string that uniquely identifies this
|
|
184
|
+
# resource.
|
|
185
|
+
# @return [YesterdayInstance] YesterdayInstance
|
|
186
|
+
def initialize(version, payload, account_sid: nil)
|
|
187
|
+
super(version)
|
|
188
|
+
|
|
189
|
+
# Marshaled Properties
|
|
190
|
+
@properties = {
|
|
191
|
+
'account_sid' => payload['account_sid'],
|
|
192
|
+
'api_version' => payload['api_version'],
|
|
193
|
+
'category' => payload['category'],
|
|
194
|
+
'count' => payload['count'],
|
|
195
|
+
'count_unit' => payload['count_unit'],
|
|
196
|
+
'description' => payload['description'],
|
|
197
|
+
'end_date' => Twilio.deserialize_iso8601_date(payload['end_date']),
|
|
198
|
+
'price' => payload['price'].to_f,
|
|
199
|
+
'price_unit' => payload['price_unit'],
|
|
200
|
+
'start_date' => Twilio.deserialize_iso8601_date(payload['start_date']),
|
|
201
|
+
'subresource_uris' => payload['subresource_uris'],
|
|
202
|
+
'uri' => payload['uri'],
|
|
203
|
+
'usage' => payload['usage'],
|
|
204
|
+
'usage_unit' => payload['usage_unit'],
|
|
205
|
+
}
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
##
|
|
209
|
+
# @return [String] The account_sid
|
|
210
|
+
def account_sid
|
|
211
|
+
@properties['account_sid']
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
##
|
|
215
|
+
# @return [String] The api_version
|
|
216
|
+
def api_version
|
|
217
|
+
@properties['api_version']
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
##
|
|
221
|
+
# @return [yesterday.Category] The category
|
|
222
|
+
def category
|
|
223
|
+
@properties['category']
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
##
|
|
227
|
+
# @return [String] The count
|
|
228
|
+
def count
|
|
229
|
+
@properties['count']
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
##
|
|
233
|
+
# @return [String] The count_unit
|
|
234
|
+
def count_unit
|
|
235
|
+
@properties['count_unit']
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
##
|
|
239
|
+
# @return [String] The description
|
|
240
|
+
def description
|
|
241
|
+
@properties['description']
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
##
|
|
245
|
+
# @return [Date] The end_date
|
|
246
|
+
def end_date
|
|
247
|
+
@properties['end_date']
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
##
|
|
251
|
+
# @return [String] The price
|
|
252
|
+
def price
|
|
253
|
+
@properties['price']
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
##
|
|
257
|
+
# @return [String] The price_unit
|
|
258
|
+
def price_unit
|
|
259
|
+
@properties['price_unit']
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
##
|
|
263
|
+
# @return [Date] The start_date
|
|
264
|
+
def start_date
|
|
265
|
+
@properties['start_date']
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
##
|
|
269
|
+
# @return [String] The subresource_uris
|
|
270
|
+
def subresource_uris
|
|
271
|
+
@properties['subresource_uris']
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
##
|
|
275
|
+
# @return [String] The uri
|
|
276
|
+
def uri
|
|
277
|
+
@properties['uri']
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
##
|
|
281
|
+
# @return [String] The usage
|
|
282
|
+
def usage
|
|
283
|
+
@properties['usage']
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
##
|
|
287
|
+
# @return [String] The usage_unit
|
|
288
|
+
def usage_unit
|
|
289
|
+
@properties['usage_unit']
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
##
|
|
293
|
+
# Provide a user friendly representation
|
|
294
|
+
def to_s
|
|
295
|
+
"<Twilio.Api.V2010.YesterdayInstance>"
|
|
296
|
+
end
|
|
297
|
+
end
|
|
298
|
+
end
|
|
299
|
+
end
|
|
300
|
+
end
|
|
301
|
+
end
|
|
302
|
+
end
|
|
303
|
+
end
|
|
304
|
+
end
|