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



1270
1271
1272
1273
1274
1275
1276
# 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



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

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

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



1340
1341
1342
1343
1344
1345
1346
1347
1348
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1340

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



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

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.



1309
1310
1311
1312
1313
1314
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1309

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



1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1357

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.



1327
1328
1329
1330
1331
1332
1333
1334
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1327

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



1388
1389
1390
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 1388

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