Class: Twilio::REST::Video::V1::CompositionInstance

Inherits:
InstanceResource show all
Defined in:
lib/twilio-ruby/rest/video/v1/composition.rb

Overview

PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact [email protected].

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, sid: nil) ⇒ CompositionInstance

Initialize the CompositionInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • sid (String) (defaults to: nil)

    The Composition Sid that uniquely identifies the Composition to fetch.



320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 320

def initialize(version, payload, sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'account_sid' => payload['account_sid'],
      'status' => payload['status'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_completed' => payload['date_completed'],
      'date_deleted' => payload['date_deleted'],
      'sid' => payload['sid'],
      'room_sid' => payload['room_sid'],
      'audio_sources' => payload['audio_sources'],
      'audio_sources_excluded' => payload['audio_sources_excluded'],
      'video_layout' => payload['video_layout'],
      'resolution' => payload['resolution'],
      'trim' => payload['trim'],
      'format' => payload['format'],
      'bitrate' => payload['bitrate'].to_i,
      'size' => payload['size'].to_i,
      'duration' => payload['duration'].to_i,
      'url' => payload['url'],
      'links' => payload['links'],
  }

  # Context
  @instance_context = nil
  @params = {'sid' => sid || @properties['sid'], }
end

Instance Method Details

#account_sidString

Returns Twilio Account SID.

Returns:

  • (String)

    Twilio Account SID.



363
364
365
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 363

def 
  @properties['account_sid']
end

#audio_sourcesString

Returns A list of audio sources related to this Composition.

Returns:

  • (String)

    A list of audio sources related to this Composition.



405
406
407
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 405

def audio_sources
  @properties['audio_sources']
end

#audio_sources_excludedString

Returns A list of audio sources excluded related to this Composition.

Returns:

  • (String)

    A list of audio sources excluded related to this Composition.



411
412
413
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 411

def audio_sources_excluded
  @properties['audio_sources_excluded']
end

#bitrateString

Returns The bitrate.

Returns:

  • (String)

    The bitrate



441
442
443
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 441

def bitrate
  @properties['bitrate']
end

#contextCompositionContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



354
355
356
357
358
359
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 354

def context
  unless @instance_context
    @instance_context = CompositionContext.new(@version, @params['sid'], )
  end
  @instance_context
end

#date_completedString

Returns Date when the media processing task finished.

Returns:

  • (String)

    Date when the media processing task finished.



381
382
383
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 381

def date_completed
  @properties['date_completed']
end

#date_createdTime

Returns Date when the Composition Resource was created.

Returns:

  • (Time)

    Date when the Composition Resource was created.



375
376
377
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 375

def date_created
  @properties['date_created']
end

#date_deletedString

Returns Date when the Composition Resource generated media was deleted.

Returns:

  • (String)

    Date when the Composition Resource generated media was deleted.



387
388
389
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 387

def date_deleted
  @properties['date_deleted']
end

#deleteBoolean

Deletes the CompositionInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



479
480
481
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 479

def delete
  context.delete
end

#durationString

Returns Duration of the Composed media in seconds.

Returns:

  • (String)

    Duration of the Composed media in seconds.



453
454
455
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 453

def duration
  @properties['duration']
end

#fetchCompositionInstance

Fetch a CompositionInstance

Returns:



472
473
474
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 472

def fetch
  context.fetch
end

#formatcomposition.Format

Returns The file format for this Composition.

Returns:

  • (composition.Format)

    The file format for this Composition.



435
436
437
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 435

def format
  @properties['format']
end

#inspectObject

Provide a detailed, user friendly representation



492
493
494
495
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 492

def inspect
  values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Video.V1.CompositionInstance #{values}>"
end

Returns JSON object with the URL where the media file can be fetched.

Returns:

  • (String)

    JSON object with the URL where the media file can be fetched.



465
466
467
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 465

def links
  @properties['links']
end

#resolutionString

Returns Pixel resolution of the composed video.

Returns:

  • (String)

    Pixel resolution of the composed video.



423
424
425
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 423

def resolution
  @properties['resolution']
end

#room_sidString

Returns A 34-character string that uniquely identifies the source of this Composition.

Returns:

  • (String)

    A 34-character string that uniquely identifies the source of this Composition.



399
400
401
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 399

def room_sid
  @properties['room_sid']
end

#sidString

Returns A 34-character string that uniquely identifies this Composition.

Returns:

  • (String)

    A 34-character string that uniquely identifies this Composition.



393
394
395
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 393

def sid
  @properties['sid']
end

#sizeString

Returns Size of the Composed media file expressed in bytes.

Returns:

  • (String)

    Size of the Composed media file expressed in bytes.



447
448
449
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 447

def size
  @properties['size']
end

#statuscomposition.Status

Returns The status of the Composition.

Returns:

  • (composition.Status)

    The status of the Composition.



369
370
371
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 369

def status
  @properties['status']
end

#to_sObject

Provide a user friendly representation



485
486
487
488
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 485

def to_s
  values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Video.V1.CompositionInstance #{values}>"
end

#trimBoolean

Returns Boolean flag for clipping intervals that have no media.

Returns:

  • (Boolean)

    Boolean flag for clipping intervals that have no media.



429
430
431
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 429

def trim
  @properties['trim']
end

#urlString

Returns The absolute URL for this resource.

Returns:

  • (String)

    The absolute URL for this resource.



459
460
461
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 459

def url
  @properties['url']
end

#video_layoutHash

Returns The JSON video layout description.

Returns:

  • (Hash)

    The JSON video layout description.



417
418
419
# File 'lib/twilio-ruby/rest/video/v1/composition.rb', line 417

def video_layout
  @properties['video_layout']
end