Class: Twilio::REST::Api::V2010::AccountContext::ApplicationList

Inherits:
ListResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/api/v2010/account/application.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, account_sid: nil) ⇒ ApplicationList

Initialize the ApplicationList

Parameters:

  • version (Version)

    Version that contains the resource

  • account_sid (String) (defaults to: nil)

    The unique id of the Account that created this application.



19
20
21
22
23
24
25
26
27
# File 'lib/twilio-ruby/rest/api/v2010/account/application.rb', line 19

def initialize(version, account_sid: nil)
  super(version)

  # Path Solution
  @solution = {
      account_sid: 
  }
  @uri = "/Accounts/#{@solution[:account_sid]}/Applications.json"
end

Instance Method Details

#create(friendly_name: nil, api_version: :unset, voice_url: :unset, voice_method: :unset, voice_fallback_url: :unset, voice_fallback_method: :unset, status_callback: :unset, status_callback_method: :unset, voice_caller_id_lookup: :unset, sms_url: :unset, sms_method: :unset, sms_fallback_url: :unset, sms_fallback_method: :unset, sms_status_callback: :unset, message_status_callback: :unset) ⇒ ApplicationInstance

Retrieve a single page of ApplicationInstance records from the API. Request is executed immediately.

Parameters:

  • friendly_name (String) (defaults to: nil)

    A human readable description of the new application, maximum of 64 characters.

  • api_version (String) (defaults to: :unset)

    Requests to this application will start a new TwiML session with this API version.

  • voice_url (String) (defaults to: :unset)

    The URL Twilio will request when a phone number assigned to this application receives a call.

  • voice_method (String) (defaults to: :unset)

    The HTTP method Twilio will use when requesting the above ‘Url`. Either `GET` or `POST`.

  • voice_fallback_url (String) (defaults to: :unset)

    The URL that Twilio will request if an error occurs retrieving or executing the TwiML requested by ‘Url`.

  • voice_fallback_method (String) (defaults to: :unset)

    The HTTP method Twilio will use when requesting the ‘VoiceFallbackUrl`. Either `GET` or `POST`.

  • status_callback (String) (defaults to: :unset)

    The URL that Twilio will request to pass status parameters (such as call ended) to your application.

  • status_callback_method (String) (defaults to: :unset)

    The HTTP method Twilio will use to make requests to the ‘StatusCallback` URL. Either `GET` or `POST`.

  • voice_caller_id_lookup (Boolean) (defaults to: :unset)

    Look up the caller’s caller-ID name from the CNAM database (additional charges apply). Either ‘true` or `false`.

  • sms_url (String) (defaults to: :unset)

    The URL Twilio will request when a phone number assigned to this application receives an incoming SMS message.

  • sms_method (String) (defaults to: :unset)

    The HTTP method Twilio will use when making requests to the ‘SmsUrl`. Either `GET` or `POST`.

  • sms_fallback_url (String) (defaults to: :unset)

    The URL that Twilio will request if an error occurs retrieving or executing the TwiML from ‘SmsUrl`.

  • sms_fallback_method (String) (defaults to: :unset)

    The HTTP method Twilio will use when requesting the above URL. Either ‘GET` or `POST`.

  • sms_status_callback (String) (defaults to: :unset)

    The URL that Twilio will ‘POST` to when a message is sent via the `/SMS/Messages` endpoint if you specify the `Sid` of this application on an outgoing SMS request.

  • message_status_callback (String) (defaults to: :unset)

    Twilio will make a ‘POST` request to this URL to pass status parameters (such as sent or failed) to your application if you use the `/Messages` endpoint to send the message and specify this application’s ‘Sid` as the `ApplicationSid` on an outgoing SMS request.

Returns:



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/twilio-ruby/rest/api/v2010/account/application.rb', line 66

def create(friendly_name: nil, api_version: :unset, voice_url: :unset, voice_method: :unset, voice_fallback_url: :unset, voice_fallback_method: :unset, status_callback: :unset, status_callback_method: :unset, voice_caller_id_lookup: :unset, sms_url: :unset, sms_method: :unset, sms_fallback_url: :unset, sms_fallback_method: :unset, sms_status_callback: :unset, message_status_callback: :unset)
  data = Twilio::Values.of({
      'FriendlyName' => friendly_name,
      'ApiVersion' => api_version,
      'VoiceUrl' => voice_url,
      'VoiceMethod' => voice_method,
      'VoiceFallbackUrl' => voice_fallback_url,
      'VoiceFallbackMethod' => voice_fallback_method,
      'StatusCallback' => status_callback,
      'StatusCallbackMethod' => status_callback_method,
      'VoiceCallerIdLookup' => voice_caller_id_lookup,
      'SmsUrl' => sms_url,
      'SmsMethod' => sms_method,
      'SmsFallbackUrl' => sms_fallback_url,
      'SmsFallbackMethod' => sms_fallback_method,
      'SmsStatusCallback' => sms_status_callback,
      'MessageStatusCallback' => message_status_callback,
  })

  payload = @version.create(
      'POST',
      @uri,
      data: data
  )

  ApplicationInstance.new(
      @version,
      payload,
      account_sid: @solution[:account_sid],
  )
end

#eachObject

When passed a block, yields ApplicationInstance records from the API. This operation lazily loads records as efficiently as possible until the limit is reached.



147
148
149
150
151
152
153
154
155
156
157
# File 'lib/twilio-ruby/rest/api/v2010/account/application.rb', line 147

def each
  limits = @version.read_limits

  page = self.page(
      page_size: limits[:page_size],
  )

  @version.stream(page,
                  limit: limits[:limit],
                  page_limit: limits[:page_limit]).each {|x| yield x}
end

#get_page(target_url) ⇒ Page

Retrieve a single page of ApplicationInstance records from the API. Request is executed immediately.

Parameters:

  • target_url (String)

    API-generated URL for the requested results page

Returns:

  • (Page)

    Page of ApplicationInstance



188
189
190
191
192
193
194
# File 'lib/twilio-ruby/rest/api/v2010/account/application.rb', line 188

def get_page(target_url)
  response = @version.domain.request(
      'GET',
      target_url
  )
  ApplicationPage.new(@version, response, @solution)
end

#list(friendly_name: :unset, limit: nil, page_size: nil) ⇒ Array

Lists ApplicationInstance records from the API as a list. Unlike stream(), this operation is eager and will load ‘limit` records into memory before returning.

Parameters:

  • friendly_name (String) (defaults to: :unset)

    Only return application resources with friendly names that match exactly with this name

  • limit (Integer) (defaults to: nil)

    Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit

  • page_size (Integer) (defaults to: nil)

    Number of records to fetch per request, when not set will use the default value of 50 records. If no page_size is defined but a limit is defined, stream() will attempt to read the limit with the most efficient page size, i.e. min(limit, 1000)

Returns:

  • (Array)

    Array of up to limit results



111
112
113
114
115
116
117
# File 'lib/twilio-ruby/rest/api/v2010/account/application.rb', line 111

def list(friendly_name: :unset, limit: nil, page_size: nil)
  self.stream(
      friendly_name: friendly_name,
      limit: limit,
      page_size: page_size
  ).entries
end

#page(friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset) ⇒ Page

Retrieve a single page of ApplicationInstance records from the API. Request is executed immediately.

Parameters:

  • friendly_name (String) (defaults to: :unset)

    Only return application resources with friendly names that match exactly with this name

  • page_token (String) (defaults to: :unset)

    PageToken provided by the API

  • page_number (Integer) (defaults to: :unset)

    Page Number, this value is simply for client state

  • page_size (Integer) (defaults to: :unset)

    Number of records to return, defaults to 50

Returns:

  • (Page)

    Page of ApplicationInstance



168
169
170
171
172
173
174
175
176
177
178
179
180
181
# File 'lib/twilio-ruby/rest/api/v2010/account/application.rb', line 168

def page(friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
  params = Twilio::Values.of({
      'FriendlyName' => friendly_name,
      'PageToken' => page_token,
      'Page' => page_number,
      'PageSize' => page_size,
  })
  response = @version.page(
      'GET',
      @uri,
      params
  )
  ApplicationPage.new(@version, response, @solution)
end

#stream(friendly_name: :unset, limit: nil, page_size: nil) ⇒ Enumerable

Streams ApplicationInstance records from the API as an Enumerable. This operation lazily loads records as efficiently as possible until the limit is reached.

Parameters:

  • friendly_name (String) (defaults to: :unset)

    Only return application resources with friendly names that match exactly with this name

  • limit (Integer) (defaults to: nil)

    Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit.

  • page_size (Integer) (defaults to: nil)

    Number of records to fetch per request, when not set will use the default value of 50 records. If no page_size is defined but a limit is defined, stream() will attempt to read the limit with the most efficient page size, i.e. min(limit, 1000)

Returns:

  • (Enumerable)

    Enumerable that will yield up to limit results



132
133
134
135
136
137
138
139
140
141
# File 'lib/twilio-ruby/rest/api/v2010/account/application.rb', line 132

def stream(friendly_name: :unset, limit: nil, page_size: nil)
  limits = @version.read_limits(limit, page_size)

  page = self.page(
      friendly_name: friendly_name,
      page_size: limits[:page_size],
  )

  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
end

#to_sObject

Provide a user friendly representation



198
199
200
# File 'lib/twilio-ruby/rest/api/v2010/account/application.rb', line 198

def to_s
  '#<Twilio.Api.V2010.ApplicationList>'
end