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, CatalogItem, ContentCreateRequest, ListItem, QuickReplyAction, TwilioCallToAction, TwilioCard, TwilioCatalog, TwilioListPicker, TwilioLocation, TwilioMedia, TwilioQuickReply, TwilioText, Types, WhatsappAuthentication, WhatsappCard

Instance Method Summary collapse

Constructor Details

#initialize(version) ⇒ ContentList

Initialize the ContentList



413
414
415
416
417
418
419
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 413

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

Instance Method Details

#create(content_create_request: nil) ⇒ ContentInstance

Create the ContentInstance



424
425
426
427
428
429
430
431
432
433
434
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 424

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.



479
480
481
482
483
484
485
486
487
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 479

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.



513
514
515
516
517
518
519
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 513

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.



448
449
450
451
452
453
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 448

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.



496
497
498
499
500
501
502
503
504
505
506
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 496

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

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

    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.



466
467
468
469
470
471
472
473
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 466

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



524
525
526
# File 'lib/twilio-ruby/rest/content/v1/content.rb', line 524

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