Class: Twilio::REST::Insights::V1::RoomInstance

Inherits:
Twilio::REST::InstanceResource show all
Defined in:
lib/twilio-ruby/rest/insights/v1/room.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, room_sid: nil) ⇒ RoomInstance

Initialize the RoomInstance

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 Room resource.

  • sid (String)

    The SID of the Call resource to fetch.



266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 266

def initialize(version, payload , room_sid: nil)
    super(version)
    
    # Marshaled Properties
    @properties = { 
        'account_sid' => payload['account_sid'],
        'room_sid' => payload['room_sid'],
        'room_name' => payload['room_name'],
        'create_time' => Twilio.deserialize_iso8601_datetime(payload['create_time']),
        'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
        'room_type' => payload['room_type'],
        'room_status' => payload['room_status'],
        'status_callback' => payload['status_callback'],
        'status_callback_method' => payload['status_callback_method'],
        'created_method' => payload['created_method'],
        'end_reason' => payload['end_reason'],
        'max_participants' => payload['max_participants'] == nil ? payload['max_participants'] : payload['max_participants'].to_i,
        'unique_participants' => payload['unique_participants'] == nil ? payload['unique_participants'] : payload['unique_participants'].to_i,
        'unique_participant_identities' => payload['unique_participant_identities'] == nil ? payload['unique_participant_identities'] : payload['unique_participant_identities'].to_i,
        'concurrent_participants' => payload['concurrent_participants'] == nil ? payload['concurrent_participants'] : payload['concurrent_participants'].to_i,
        'max_concurrent_participants' => payload['max_concurrent_participants'] == nil ? payload['max_concurrent_participants'] : payload['max_concurrent_participants'].to_i,
        'codecs' => payload['codecs'],
        'media_region' => payload['media_region'],
        'duration_sec' => payload['duration_sec'],
        'total_participant_duration_sec' => payload['total_participant_duration_sec'],
        'total_recording_duration_sec' => payload['total_recording_duration_sec'],
        'processing_state' => payload['processing_state'],
        'recording_enabled' => payload['recording_enabled'],
        'edge_location' => payload['edge_location'],
        'url' => payload['url'],
        'links' => payload['links'],
    }

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

Instance Method Details

#account_sidString

Returns Account SID associated with this room.

Returns:

  • (String)

    Account SID associated with this room.



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

def 
    @properties['account_sid']
end

#codecsArray<Codec>

Returns Codecs used by participants in the room. Can be ‘VP8`, `H264`, or `VP9`.

Returns:

  • (Array<Codec>)

    Codecs used by participants in the room. Can be ‘VP8`, `H264`, or `VP9`.



413
414
415
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 413

def codecs
    @properties['codecs']
end

#concurrent_participantsString

Returns Actual number of concurrent participants.

Returns:

  • (String)

    Actual number of concurrent participants.



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

def concurrent_participants
    @properties['concurrent_participants']
end

#contextRoomContext

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

Returns:



308
309
310
311
312
313
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 308

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

#create_timeTime

Returns Creation time of the room.

Returns:

  • (Time)

    Creation time of the room.



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

def create_time
    @properties['create_time']
end

#created_methodCreatedMethod

Returns:

  • (CreatedMethod)


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

def created_method
    @properties['created_method']
end

#duration_secString

Returns Total room duration from create time to end time.

Returns:

  • (String)

    Total room duration from create time to end time.



425
426
427
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 425

def duration_sec
    @properties['duration_sec']
end

#edge_locationEdgeLocation

Returns:

  • (EdgeLocation)


455
456
457
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 455

def edge_location
    @properties['edge_location']
end

#end_reasonEndReason

Returns:

  • (EndReason)


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

def end_reason
    @properties['end_reason']
end

#end_timeTime

Returns End time for the room.

Returns:

  • (Time)

    End time for the room.



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

def end_time
    @properties['end_time']
end

#fetchRoomInstance

Fetch the RoomInstance

Returns:



474
475
476
477
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 474

def fetch

    context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



495
496
497
498
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 495

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

Returns Room subresources.

Returns:

  • (Hash)

    Room subresources.



467
468
469
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 467

def links
    @properties['links']
end

#max_concurrent_participantsString

Returns Maximum number of participants allowed in the room at the same time allowed by the application settings.

Returns:

  • (String)

    Maximum number of participants allowed in the room at the same time allowed by the application settings.



407
408
409
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 407

def max_concurrent_participants
    @properties['max_concurrent_participants']
end

#max_participantsString

Returns Max number of total participants allowed by the application settings.

Returns:

  • (String)

    Max number of total participants allowed by the application settings.



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

def max_participants
    @properties['max_participants']
end

#media_regionTwilioRealm

Returns:

  • (TwilioRealm)


419
420
421
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 419

def media_region
    @properties['media_region']
end

#participantsparticipants

Access the participants

Returns:



482
483
484
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 482

def participants
    context.participants
end

#processing_stateProcessingState

Returns:

  • (ProcessingState)


443
444
445
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 443

def processing_state
    @properties['processing_state']
end

#recording_enabledBoolean

Returns Boolean indicating if recording is enabled for the room.

Returns:

  • (Boolean)

    Boolean indicating if recording is enabled for the room.



449
450
451
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 449

def recording_enabled
    @properties['recording_enabled']
end

#room_nameString

Returns Room friendly name.

Returns:

  • (String)

    Room friendly name.



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

def room_name
    @properties['room_name']
end

#room_sidString

Returns Unique identifier for the room.

Returns:

  • (String)

    Unique identifier for the room.



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

def room_sid
    @properties['room_sid']
end

#room_statusRoomStatus

Returns:

  • (RoomStatus)


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

def room_status
    @properties['room_status']
end

#room_typeRoomType

Returns:

  • (RoomType)


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

def room_type
    @properties['room_type']
end

#status_callbackString

Returns Webhook provided for status callbacks.

Returns:

  • (String)

    Webhook provided for status callbacks.



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

def status_callback
    @properties['status_callback']
end

#status_callback_methodString

Returns HTTP method provided for status callback URL.

Returns:

  • (String)

    HTTP method provided for status callback URL.



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

def status_callback_method
    @properties['status_callback_method']
end

#to_sObject

Provide a user friendly representation



488
489
490
491
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 488

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

#total_participant_duration_secString

Returns Combined amount of participant time in the room.

Returns:

  • (String)

    Combined amount of participant time in the room.



431
432
433
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 431

def total_participant_duration_sec
    @properties['total_participant_duration_sec']
end

#total_recording_duration_secString

Returns Combined amount of recorded seconds for participants in the room.

Returns:

  • (String)

    Combined amount of recorded seconds for participants in the room.



437
438
439
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 437

def total_recording_duration_sec
    @properties['total_recording_duration_sec']
end

#unique_participant_identitiesString

Returns Unique number of participant identities.

Returns:

  • (String)

    Unique number of participant identities.



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

def unique_participant_identities
    @properties['unique_participant_identities']
end

#unique_participantsString

Returns Number of participants. May include duplicate identities for participants who left and rejoined.

Returns:

  • (String)

    Number of participants. May include duplicate identities for participants who left and rejoined.



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

def unique_participants
    @properties['unique_participants']
end

#urlString

Returns URL for the room resource.

Returns:

  • (String)

    URL for the room resource.



461
462
463
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 461

def url
    @properties['url']
end