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.



439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 439

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.



491
492
493
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 491

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.



587
588
589
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 587

def codecs
    @properties['codecs']
end

#concurrent_participantsString

Returns Actual number of concurrent participants.

Returns:

  • (String)

    Actual number of concurrent participants.



575
576
577
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 575

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:



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

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.



509
510
511
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 509

def create_time
    @properties['create_time']
end

#created_methodCreatedMethod

Returns:

  • (CreatedMethod)


545
546
547
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 545

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.



599
600
601
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 599

def duration_sec
    @properties['duration_sec']
end

#edge_locationEdgeLocation

Returns:

  • (EdgeLocation)


629
630
631
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 629

def edge_location
    @properties['edge_location']
end

#end_reasonEndReason

Returns:

  • (EndReason)


551
552
553
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 551

def end_reason
    @properties['end_reason']
end

#end_timeTime

Returns End time for the room.

Returns:

  • (Time)

    End time for the room.



515
516
517
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 515

def end_time
    @properties['end_time']
end

#fetchRoomInstance

Fetch the RoomInstance

Returns:



648
649
650
651
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 648

def fetch

    context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



669
670
671
672
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 669

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

Returns Room subresources.

Returns:

  • (Hash)

    Room subresources.



641
642
643
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 641

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.



581
582
583
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 581

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.



557
558
559
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 557

def max_participants
    @properties['max_participants']
end

#media_regionTwilioRealm

Returns:

  • (TwilioRealm)


593
594
595
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 593

def media_region
    @properties['media_region']
end

#participantsparticipants

Access the participants

Returns:



656
657
658
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 656

def participants
    context.participants
end

#processing_stateProcessingState

Returns:

  • (ProcessingState)


617
618
619
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 617

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.



623
624
625
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 623

def recording_enabled
    @properties['recording_enabled']
end

#room_nameString

Returns Room friendly name.

Returns:

  • (String)

    Room friendly name.



503
504
505
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 503

def room_name
    @properties['room_name']
end

#room_sidString

Returns Unique identifier for the room.

Returns:

  • (String)

    Unique identifier for the room.



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

def room_sid
    @properties['room_sid']
end

#room_statusRoomStatus

Returns:

  • (RoomStatus)


527
528
529
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 527

def room_status
    @properties['room_status']
end

#room_typeRoomType

Returns:

  • (RoomType)


521
522
523
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 521

def room_type
    @properties['room_type']
end

#status_callbackString

Returns Webhook provided for status callbacks.

Returns:

  • (String)

    Webhook provided for status callbacks.



533
534
535
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 533

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.



539
540
541
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 539

def status_callback_method
    @properties['status_callback_method']
end

#to_sObject

Provide a user friendly representation



662
663
664
665
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 662

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.



605
606
607
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 605

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.



611
612
613
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 611

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.



569
570
571
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 569

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.



563
564
565
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 563

def unique_participants
    @properties['unique_participants']
end

#urlString

Returns URL for the room resource.

Returns:

  • (String)

    URL for the room resource.



635
636
637
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 635

def url
    @properties['url']
end