Class: Twilio::REST::Assistants::V1::ToolList

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

Defined Under Namespace

Classes: AssistantsV1ServiceCreatePolicyRequest, AssistantsV1ServiceCreateToolRequest, AssistantsV1ServiceUpdateToolRequest

Instance Method Summary collapse

Constructor Details

#initialize(version) ⇒ ToolList

Initialize the ToolList



202
203
204
205
206
207
208
# File 'lib/twilio-ruby/rest/assistants/v1/tool.rb', line 202

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

Instance Method Details

#create(assistants_v1_service_create_tool_request: nil) ⇒ ToolInstance

Create the ToolInstance



213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
# File 'lib/twilio-ruby/rest/assistants/v1/tool.rb', line 213

def create(assistants_v1_service_create_tool_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_tool_request.to_json)
    ToolInstance.new(
        @version,
        payload,
    )
end

#eachObject

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



276
277
278
279
280
281
282
283
284
# File 'lib/twilio-ruby/rest/assistants/v1/tool.rb', line 276

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



315
316
317
318
319
320
321
# File 'lib/twilio-ruby/rest/assistants/v1/tool.rb', line 315

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

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

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



242
243
244
245
246
247
248
# File 'lib/twilio-ruby/rest/assistants/v1/tool.rb', line 242

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

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

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



294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
# File 'lib/twilio-ruby/rest/assistants/v1/tool.rb', line 294

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

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

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

#stream(assistant_id: :unset, 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.



262
263
264
265
266
267
268
269
270
# File 'lib/twilio-ruby/rest/assistants/v1/tool.rb', line 262

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

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

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

#to_sObject

Provide a user friendly representation



326
327
328
# File 'lib/twilio-ruby/rest/assistants/v1/tool.rb', line 326

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