Class: Twilio::REST::Video::V1::RoomInstance

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

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, 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) (defaults to: nil)

    The SID of the Call resource to fetch.



689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 689

def initialize(version, payload , sid: nil)
    super(version)
    
    
    # Marshaled Properties
    @properties = { 
        'sid' => payload['sid'],
        'status' => payload['status'],
        'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
        'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
        'account_sid' => payload['account_sid'],
        'enable_turn' => payload['enable_turn'],
        'unique_name' => payload['unique_name'],
        'status_callback' => payload['status_callback'],
        'status_callback_method' => payload['status_callback_method'],
        'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
        'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
        'type' => payload['type'],
        'max_participants' => payload['max_participants'] == nil ? payload['max_participants'] : payload['max_participants'].to_i,
        'max_participant_duration' => payload['max_participant_duration'] == nil ? payload['max_participant_duration'] : payload['max_participant_duration'].to_i,
        'max_concurrent_published_tracks' => payload['max_concurrent_published_tracks'] == nil ? payload['max_concurrent_published_tracks'] : payload['max_concurrent_published_tracks'].to_i,
        'record_participants_on_connect' => payload['record_participants_on_connect'],
        'video_codecs' => payload['video_codecs'],
        'media_region' => payload['media_region'],
        'audio_only' => payload['audio_only'],
        'empty_room_timeout' => payload['empty_room_timeout'] == nil ? payload['empty_room_timeout'] : payload['empty_room_timeout'].to_i,
        'unused_room_timeout' => payload['unused_room_timeout'] == nil ? payload['unused_room_timeout'] : payload['unused_room_timeout'].to_i,
        'large_room' => payload['large_room'],
        'url' => payload['url'],
        '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 Room resource.

Returns:



763
764
765
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 763

def 
    @properties['account_sid']
end

#audio_onlyBoolean

Returns When set to true, indicates that the participants in the room will only publish audio. No video tracks will be allowed.

Returns:

  • (Boolean)

    When set to true, indicates that the participants in the room will only publish audio. No video tracks will be allowed.



847
848
849
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 847

def audio_only
    @properties['audio_only']
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:



730
731
732
733
734
735
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 730

def context
    unless @instance_context
        @instance_context = RoomContext.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:



751
752
753
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 751

def date_created
    @properties['date_created']
end

#date_updatedTime

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

Returns:



757
758
759
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 757

def date_updated
    @properties['date_updated']
end

#durationString

Returns The duration of the room in seconds.

Returns:

  • (String)

    The duration of the room in seconds.



799
800
801
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 799

def duration
    @properties['duration']
end

#empty_room_timeoutString

Returns Specifies how long (in minutes) a room will remain active after last participant leaves. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed.

Returns:

  • (String)

    Specifies how long (in minutes) a room will remain active after last participant leaves. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed.



853
854
855
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 853

def empty_room_timeout
    @properties['empty_room_timeout']
end

#enable_turnBoolean

Returns Deprecated, now always considered to be true.

Returns:

  • (Boolean)

    Deprecated, now always considered to be true.



769
770
771
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 769

def enable_turn
    @properties['enable_turn']
end

#end_timeTime

Returns The UTC end time of the room in [ISO 8601](en.wikipedia.org/wiki/ISO_8601#UTC) format.

Returns:



793
794
795
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 793

def end_time
    @properties['end_time']
end

#fetchRoomInstance

Fetch the RoomInstance

Returns:



884
885
886
887
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 884

def fetch

    context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



939
940
941
942
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 939

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

#large_roomBoolean

Returns Indicates if this is a large room.

Returns:

  • (Boolean)

    Indicates if this is a large room.



865
866
867
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 865

def large_room
    @properties['large_room']
end

Returns The URLs of related resources.

Returns:

  • (Hash)

    The URLs of related resources.



877
878
879
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 877

def links
    @properties['links']
end

#max_concurrent_published_tracksString

Returns The maximum number of published audio, video, and data tracks all participants combined are allowed to publish in the room at the same time. Check [Programmable Video Limits](www.twilio.com/docs/video/programmable-video-limits) for more details. If it is set to 0 it means unconstrained.

Returns:

  • (String)

    The maximum number of published audio, video, and data tracks all participants combined are allowed to publish in the room at the same time. Check [Programmable Video Limits](www.twilio.com/docs/video/programmable-video-limits) for more details. If it is set to 0 it means unconstrained.



823
824
825
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 823

def max_concurrent_published_tracks
    @properties['max_concurrent_published_tracks']
end

#max_participant_durationString

Returns The maximum number of seconds a Participant can be connected to the room. The maximum possible value is 86400 seconds (24 hours). The default is 14400 seconds (4 hours).

Returns:

  • (String)

    The maximum number of seconds a Participant can be connected to the room. The maximum possible value is 86400 seconds (24 hours). The default is 14400 seconds (4 hours).



817
818
819
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 817

def max_participant_duration
    @properties['max_participant_duration']
end

#max_participantsString

Returns The maximum number of concurrent Participants allowed in the room.

Returns:

  • (String)

    The maximum number of concurrent Participants allowed in the room.



811
812
813
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 811

def max_participants
    @properties['max_participants']
end

#media_regionString

Returns The region for the Room’s media server. Can be one of the [available Media Regions](www.twilio.com/docs/video/ip-addresses#media-servers).

Returns:



841
842
843
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 841

def media_region
    @properties['media_region']
end

#participantsparticipants

Access the participants

Returns:



912
913
914
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 912

def participants
    context.participants
end

#record_participants_on_connectBoolean

Returns Whether to start recording when Participants connect.

Returns:

  • (Boolean)

    Whether to start recording when Participants connect.



829
830
831
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 829

def record_participants_on_connect
    @properties['record_participants_on_connect']
end

#recording_rulesrecording_rules

Access the recording_rules

Returns:



905
906
907
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 905

def recording_rules
    context.recording_rules
end

#recordingsrecordings

Access the recordings

Returns:



926
927
928
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 926

def recordings
    context.recordings
end

#sidString

Returns The unique string that Twilio created to identify the Room resource.

Returns:

  • (String)

    The unique string that Twilio created to identify the Room resource.



739
740
741
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 739

def sid
    @properties['sid']
end

#statusRoomStatus

Returns:

  • (RoomStatus)


745
746
747
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 745

def status
    @properties['status']
end

#status_callbackString

Returns The URL Twilio calls using the status_callback_method to send status information to your application on every room event. See [Status Callbacks](www.twilio.com/docs/video/api/status-callbacks) for more info.

Returns:



781
782
783
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 781

def status_callback
    @properties['status_callback']
end

#status_callback_methodString

Returns The HTTP method Twilio uses to call status_callback. Can be POST or GET and defaults to POST.

Returns:

  • (String)

    The HTTP method Twilio uses to call status_callback. Can be POST or GET and defaults to POST.



787
788
789
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 787

def status_callback_method
    @properties['status_callback_method']
end

#to_sObject

Provide a user friendly representation



932
933
934
935
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 932

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

#transcriptionstranscriptions

Access the transcriptions

Returns:



919
920
921
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 919

def transcriptions
    context.transcriptions
end

#typeRoomType

Returns:

  • (RoomType)


805
806
807
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 805

def type
    @properties['type']
end

#unique_nameString

Returns An application-defined string that uniquely identifies the resource. It can be used as a room_sid in place of the resource’s sid in the URL to address the resource, assuming it does not contain any [reserved characters](tools.ietf.org/html/rfc3986#section-2.2) that would need to be URL encoded. This value is unique for in-progress rooms. SDK clients can use this name to connect to the room. REST API clients can use this name in place of the Room SID to interact with the room as long as the room is in-progress.

Returns:

  • (String)

    An application-defined string that uniquely identifies the resource. It can be used as a room_sid in place of the resource’s sid in the URL to address the resource, assuming it does not contain any [reserved characters](tools.ietf.org/html/rfc3986#section-2.2) that would need to be URL encoded. This value is unique for in-progress rooms. SDK clients can use this name to connect to the room. REST API clients can use this name in place of the Room SID to interact with the room as long as the room is in-progress.



775
776
777
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 775

def unique_name
    @properties['unique_name']
end

#unused_room_timeoutString

Returns Specifies how long (in minutes) a room will remain active if no one joins. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed.

Returns:

  • (String)

    Specifies how long (in minutes) a room will remain active if no one joins. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed.



859
860
861
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 859

def unused_room_timeout
    @properties['unused_room_timeout']
end

#update(status: nil) ⇒ RoomInstance

Update the RoomInstance

Parameters:

  • status (RoomStatus) (defaults to: nil)

Returns:



893
894
895
896
897
898
899
900
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 893

def update(
    status: nil
)

    context.update(
        status: status, 
    )
end

#urlString

Returns The absolute URL of the resource.

Returns:

  • (String)

    The absolute URL of the resource.



871
872
873
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 871

def url
    @properties['url']
end

#video_codecsArray<VideoCodec>

Returns An array of the video codecs that are supported when publishing a track in the room. Can be: VP8 and H264.

Returns:

  • (Array<VideoCodec>)

    An array of the video codecs that are supported when publishing a track in the room. Can be: VP8 and H264.



835
836
837
# File 'lib/twilio-ruby/rest/video/v1/room.rb', line 835

def video_codecs
    @properties['video_codecs']
end