Class: Twilio::REST::Content::V1::ContentList

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

Defined Under Namespace

Classes: AuthenticationAction, CallToActionAction, CardAction, CarouselAction, CarouselCard, CatalogItem, ContentCreateRequest, ContentUpdateRequest, FlowsPage, FlowsPageComponent, ListItem, QuickReplyAction, TwilioCallToAction, TwilioCard, TwilioCarousel, TwilioCatalog, TwilioFlows, TwilioListPicker, TwilioLocation, TwilioMedia, TwilioQuickReply, TwilioSchedule, TwilioText, Types, WhatsappAuthentication, WhatsappCard, WhatsappFlows

Instance Method Summary collapse

Constructor Details

#initialize(version) ⇒ ContentList

Initialize the ContentList

Parameters:

  • version (Version)

    Version that contains the resource



1270
1271
1272
1273
1274
1275
1276
1277
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1270

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

Instance Method Details

#create(content_create_request: nil) ⇒ ContentInstance

Create the ContentInstance

Parameters:

Returns:



1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1282

def create(content_create_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: content_create_request.to_json)
    ContentInstance.new(
        @version,
        payload,
    )
end

#create_with_metadata(content_create_request: nil) ⇒ ContentInstance

Create the ContentInstanceMetadata

Parameters:

Returns:



1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1302

def (content_create_request: nil
)

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    headers['Content-Type'] = 'application/json'
    
    
    
    
    response = @version.('POST', @uri, headers: headers, data: content_create_request.to_json)
    content_instance = ContentInstance.new(
        @version,
        response.body,
    )
    ContentInstanceMetadata.new(
        @version,
        content_instance,
        response.headers,
        response.status_code
    )
end

#eachObject

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



1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1393

def each
    limits = @version.read_limits

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

    return [].each if page.nil?

    result = @version.stream(page,
        limit: limits[:limit],
        page_limit: limits[:page_limit])
    return [].each if result.nil?
    result.each {|x| yield x}
end

#get_page(target_url) ⇒ Page

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

Parameters:

  • target_url (String)

    API-generated URL for the requested results page

Returns:

  • (Page)

    Page of ContentInstance



1434
1435
1436
1437
1438
1439
1440
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1434

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

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

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

Parameters:

  • 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



1336
1337
1338
1339
1340
1341
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1336

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

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

Lists ContentPageMetadata records from the API as a list.

Parameters:

  • 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



1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1376

def (limit: nil, page_size: nil)
    limits = @version.read_limits(limit, page_size)
    params = Twilio::Values.of({
        
        'PageSize' => limits[:page_size],
    });
    headers = Twilio::Values.of({})

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

    ContentPageMetadata.new(@version, response, @solution, limits[:limit])
end

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

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

Parameters:

  • 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 ContentInstance



1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1414

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)

    ContentPage.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.

Parameters:

  • 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



1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1354

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

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

    return [].each if page.nil?

    result = @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
    return [].each if result.nil?
    result
end

#to_sObject

Provide a user friendly representation



1445
1446
1447
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1445

def to_s
    '#<Twilio.Content.V1.ContentList>'
end