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.



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
477
478
479
480
481
482
483
484
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 447

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_sid ⇒ String

Returns Account SID associated with this room.

Returns:

  • (String) —

    Account SID associated with this room.



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

def 
    @properties['account_sid']
end

#codecs ⇒ Array<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.



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

def codecs
    @properties['codecs']
end

#concurrent_participants ⇒ String

Returns Actual number of concurrent participants.

Returns:

  • (String) —

    Actual number of concurrent participants.



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

def concurrent_participants
    @properties['concurrent_participants']
end

#context ⇒ RoomContext

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

Returns:



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

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

#create_time ⇒ Time

Returns Creation time of the room.

Returns:

  • (Time) —

    Creation time of the room.



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

def create_time
    @properties['create_time']
end

#created_method ⇒ CreatedMethod

Returns:

  • (CreatedMethod)


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

def created_method
    @properties['created_method']
end

#duration_sec ⇒ String

Returns Total room duration from create time to end time.

Returns:

  • (String) —

    Total room duration from create time to end time.



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

def duration_sec
    @properties['duration_sec']
end

#edge_location ⇒ EdgeLocation

Returns:

  • (EdgeLocation)


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

def edge_location
    @properties['edge_location']
end

#end_reason ⇒ EndReason

Returns:

  • (EndReason)


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

def end_reason
    @properties['end_reason']
end

#end_time ⇒ Time

Returns End time for the room.

Returns:

  • (Time) —

    End time for the room.



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

def end_time
    @properties['end_time']
end

#fetch ⇒ RoomInstance

Fetch the RoomInstance

Returns:



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

def fetch

    context.fetch
end

#inspect ⇒ Object

Provide a detailed, user friendly representation



677
678
679
680
# File 'lib/twilio-ruby/rest/insights/v1/room.rb', line 677

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

Returns Room subresources.

Returns:

  • (Hash) —

    Room subresources.



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

def links
    @properties['links']
end

#max_concurrent_participants ⇒ String

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.



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

def max_concurrent_participants
    @properties['max_concurrent_participants']
end

#max_participants ⇒ String

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

Returns:

  • (String) —

    Max number of total participants allowed by the application settings.



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

def max_participants
    @properties['max_participants']
end

#media_region ⇒ TwilioRealm

Returns:

  • (TwilioRealm)


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

def media_region
    @properties['media_region']
end

#participants ⇒ participants

Access the participants

Returns:



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

def participants
    context.participants
end

#processing_state ⇒ ProcessingState

Returns:

  • (ProcessingState)


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

def processing_state
    @properties['processing_state']
end

#recording_enabled ⇒ Boolean

Returns Boolean indicating if recording is enabled for the room.

Returns:

  • (Boolean) —

    Boolean indicating if recording is enabled for the room.



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

def recording_enabled
    @properties['recording_enabled']
end

#room_name ⇒ String

Returns Room friendly name.

Returns:

  • (String) —

    Room friendly name.



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

def room_name
    @properties['room_name']
end

#room_sid ⇒ String

Returns Unique identifier for the room.

Returns:

  • (String) —

    Unique identifier for the room.



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

def room_sid
    @properties['room_sid']
end

#room_status ⇒ RoomStatus

Returns:

  • (RoomStatus)


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

def room_status
    @properties['room_status']
end

#room_type ⇒ RoomType

Returns:

  • (RoomType)


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

def room_type
    @properties['room_type']
end

#status_callback ⇒ String

Returns Webhook provided for status callbacks.

Returns:

  • (String) —

    Webhook provided for status callbacks.



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

def status_callback
    @properties['status_callback']
end

#status_callback_method ⇒ String

Returns HTTP method provided for status callback URL.

Returns:

  • (String) —

    HTTP method provided for status callback URL.



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

def status_callback_method
    @properties['status_callback_method']
end

#to_s ⇒ Object

Provide a user friendly representation



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

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

#total_participant_duration_sec ⇒ String

Returns Combined amount of participant time in the room.

Returns:

  • (String) —

    Combined amount of participant time in the room.



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

def total_participant_duration_sec
    @properties['total_participant_duration_sec']
end

#total_recording_duration_sec ⇒ String

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

Returns:

  • (String) —

    Combined amount of recorded seconds for participants in the room.



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

def total_recording_duration_sec
    @properties['total_recording_duration_sec']
end

#unique_participant_identities ⇒ String

Returns Unique number of participant identities.

Returns:

  • (String) —

    Unique number of participant identities.



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

def unique_participant_identities
    @properties['unique_participant_identities']
end

#unique_participants ⇒ String

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.



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

def unique_participants
    @properties['unique_participants']
end

#url ⇒ String

Returns URL for the room resource.

Returns:

  • (String) —

    URL for the room resource.



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

def url
    @properties['url']
end