Class: Twilio::REST::Assistants::V1::AssistantList

Inherits:
ListResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/assistants/v1/assistant.rb

Defined Under Namespace

Classes: AssistantsV1ServiceCreateAssistantRequest, AssistantsV1ServiceCustomerAi, AssistantsV1ServiceSegmentCredential, AssistantsV1ServiceUpdateAssistantRequest

Instance Method Summary collapse

Constructor Details

#initialize(version) ⇒ AssistantList

Initialize the AssistantList



198
199
200
201
202
203
204
# File 'lib/twilio-ruby/rest/assistants/v1/assistant.rb', line 198

def initialize(version)
    super(version)
    # Path Solution
    @solution = {  }
    @uri = "/Assistants"
    
end

Instance Method Details

#create(assistants_v1_service_create_assistant_request: nil) ⇒ AssistantInstance

Create the AssistantInstance



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
# File 'lib/twilio-ruby/rest/assistants/v1/assistant.rb', line 209

def create(assistants_v1_service_create_assistant_request: nil
)

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    headers['Content-Type'] = 'application/json'
    
    
    
    
    payload = @version.create('POST', @uri, headers: headers, data: assistants_v1_service_create_assistant_request.to_json)
    AssistantInstance.new(
        @version,
        payload,
    )
end

#eachObject

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



268
269
270
271
272
273
274
275
276
# File 'lib/twilio-ruby/rest/assistants/v1/assistant.rb', line 268

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 AssistantInstance records from the API. Request is executed immediately.



305
306
307
308
309
310
311
# File 'lib/twilio-ruby/rest/assistants/v1/assistant.rb', line 305

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

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

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



237
238
239
240
241
242
# File 'lib/twilio-ruby/rest/assistants/v1/assistant.rb', line 237

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

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

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



285
286
287
288
289
290
291
292
293
294
295
296
297
298
# File 'lib/twilio-ruby/rest/assistants/v1/assistant.rb', line 285

def page(page_token: :unset, page_number: :unset, page_size: :unset)
    params = Twilio::Values.of({
        'PageToken' => page_token,
        'Page' => page_number,
        'PageSize' => page_size,
    })
    headers = Twilio::Values.of({})
    
    

    response = @version.page('GET', @uri, params: params, headers: headers)

    AssistantPage.new(@version, response, @solution)
end

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

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



255
256
257
258
259
260
261
262
# File 'lib/twilio-ruby/rest/assistants/v1/assistant.rb', line 255

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

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

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

#to_sObject

Provide a user friendly representation



316
317
318
# File 'lib/twilio-ruby/rest/assistants/v1/assistant.rb', line 316

def to_s
    '#<Twilio.Assistants.V1.AssistantList>'
end