Class: Twilio::REST::Video::V1::RecordingInstance

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

Instance Method Summary collapse

Constructor Details

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

Initialize the RecordingInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • account_sid (String)

    The SID of the Account that created this Recording resource.

  • sid (String) (defaults to: nil)

    The SID of the Call resource to fetch.



256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 256

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']),
        'sid' => payload['sid'],
        'source_sid' => payload['source_sid'],
        'size' => payload['size'],
        'url' => payload['url'],
        'type' => payload['type'],
        'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
        'container_format' => payload['container_format'],
        'codec' => payload['codec'],
        'grouping_sids' => payload['grouping_sids'],
        'track_name' => payload['track_name'],
        'offset' => payload['offset'],
        'media_external_location' => payload['media_external_location'],
        'status_callback' => payload['status_callback'],
        'status_callback_method' => payload['status_callback_method'],
        'links' => payload['links'],
    }

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

Instance Method Details

#account_sidString

Returns The SID of the [Account](www.twilio.com/docs/iam/api/account) that created the Recording resource.

Returns:



299
300
301
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 299

def 
    @properties['account_sid']
end

#codecCodec

Returns:

  • (Codec)


359
360
361
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 359

def codec
    @properties['codec']
end

#container_formatFormat

Returns:

  • (Format)


353
354
355
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 353

def container_format
    @properties['container_format']
end

#contextRecordingContext

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

Returns:



290
291
292
293
294
295
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 290

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

#date_createdTime

Returns The date and time in GMT when the resource was created specified in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.

Returns:



311
312
313
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 311

def date_created
    @properties['date_created']
end

#deleteBoolean

Delete the RecordingInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



408
409
410
411
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 408

def delete

    context.delete
end

#durationString

Returns The duration of the recording in seconds rounded to the nearest second. Sub-second tracks have a ‘Duration` property of 1 second.

Returns:

  • (String)

    The duration of the recording in seconds rounded to the nearest second. Sub-second tracks have a ‘Duration` property of 1 second



347
348
349
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 347

def duration
    @properties['duration']
end

#fetchRecordingInstance

Fetch the RecordingInstance

Returns:



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

def fetch

    context.fetch
end

#grouping_sidsHash

Returns A list of SIDs related to the recording. Includes the ‘room_sid` and `participant_sid`.

Returns:

  • (Hash)

    A list of SIDs related to the recording. Includes the ‘room_sid` and `participant_sid`.



365
366
367
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 365

def grouping_sids
    @properties['grouping_sids']
end

#inspectObject

Provide a detailed, user friendly representation



430
431
432
433
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 430

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

Returns The URLs of related resources.

Returns:

  • (Hash)

    The URLs of related resources.



401
402
403
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 401

def links
    @properties['links']
end

#media_external_locationString

Returns The URL of the media file associated with the recording when stored externally. See [External S3 Recordings](/docs/video/api/external-s3-recordings) for more details.

Returns:

  • (String)

    The URL of the media file associated with the recording when stored externally. See [External S3 Recordings](/docs/video/api/external-s3-recordings) for more details.



383
384
385
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 383

def media_external_location
    @properties['media_external_location']
end

#offsetString

Returns The time in milliseconds elapsed between an arbitrary point in time, common to all group rooms, and the moment when the source room of this track started. This information provides a synchronization mechanism for recordings belonging to the same room.

Returns:

  • (String)

    The time in milliseconds elapsed between an arbitrary point in time, common to all group rooms, and the moment when the source room of this track started. This information provides a synchronization mechanism for recordings belonging to the same room.



377
378
379
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 377

def offset
    @properties['offset']
end

#sidString

Returns The unique string that we created to identify the Recording resource.

Returns:

  • (String)

    The unique string that we created to identify the Recording resource.



317
318
319
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 317

def sid
    @properties['sid']
end

#sizeString

Returns The size of the recorded track, in bytes.

Returns:

  • (String)

    The size of the recorded track, in bytes.



329
330
331
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 329

def size
    @properties['size']
end

#source_sidString

Returns The SID of the recording source. For a Room Recording, this value is a ‘track_sid`.

Returns:

  • (String)

    The SID of the recording source. For a Room Recording, this value is a ‘track_sid`.



323
324
325
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 323

def source_sid
    @properties['source_sid']
end

#statusStatus

Returns:

  • (Status)


305
306
307
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 305

def status
    @properties['status']
end

#status_callbackString

Returns The URL called using the ‘status_callback_method` to send status information on every recording event.

Returns:

  • (String)

    The URL called using the ‘status_callback_method` to send status information on every recording event.



389
390
391
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 389

def status_callback
    @properties['status_callback']
end

#status_callback_methodString

Returns The HTTP method used to call ‘status_callback`. Can be: `POST` or `GET`, defaults to `POST`.

Returns:

  • (String)

    The HTTP method used to call ‘status_callback`. Can be: `POST` or `GET`, defaults to `POST`.



395
396
397
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 395

def status_callback_method
    @properties['status_callback_method']
end

#to_sObject

Provide a user friendly representation



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

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

#track_nameString

Returns The name that was given to the source track of the recording. If no name is given, the ‘source_sid` is used.

Returns:

  • (String)

    The name that was given to the source track of the recording. If no name is given, the ‘source_sid` is used.



371
372
373
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 371

def track_name
    @properties['track_name']
end

#typeType

Returns:

  • (Type)


341
342
343
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 341

def type
    @properties['type']
end

#urlString

Returns The absolute URL of the resource.

Returns:

  • (String)

    The absolute URL of the resource.



335
336
337
# File 'lib/twilio-ruby/rest/video/v1/recording.rb', line 335

def url
    @properties['url']
end