class Twilio::REST::Video::V1::RoomContext::ParticipantContext
Public Class Methods
Initialize the ParticipantContext
@param [Version] version Version
that contains the resource @param [String] room_sid The SID of the room with the Participant resource to
fetch.
@param [String] sid The SID of the RoomParticipant resource to fetch. @return [ParticipantContext] ParticipantContext
Twilio::REST::InstanceContext::new
# File lib/twilio-ruby/rest/video/v1/room/room_participant.rb 199 def initialize(version, room_sid, sid) 200 super(version) 201 202 # Path Solution 203 @solution = {room_sid: room_sid, sid: sid, } 204 @uri = "/Rooms/#{@solution[:room_sid]}/Participants/#{@solution[:sid]}" 205 206 # Dependents 207 @published_tracks = nil 208 @subscribed_tracks = nil 209 @subscribe_rules = nil 210 end
Public Instance Methods
Fetch the ParticipantInstance
@return [ParticipantInstance] Fetched ParticipantInstance
# File lib/twilio-ruby/rest/video/v1/room/room_participant.rb 215 def fetch 216 payload = @version.fetch('GET', @uri) 217 218 ParticipantInstance.new(@version, payload, room_sid: @solution[:room_sid], sid: @solution[:sid], ) 219 end
Provide a detailed, user friendly representation
# File lib/twilio-ruby/rest/video/v1/room/room_participant.rb 305 def inspect 306 context = @solution.map {|k, v| "#{k}: #{v}"}.join(',') 307 "#<Twilio.Video.V1.ParticipantContext #{context}>" 308 end
Access the published_tracks
@return [PublishedTrackList] @return [PublishedTrackContext] if sid was passed.
# File lib/twilio-ruby/rest/video/v1/room/room_participant.rb 240 def published_tracks(sid=:unset) 241 raise ArgumentError, 'sid cannot be nil' if sid.nil? 242 243 if sid != :unset 244 return PublishedTrackContext.new(@version, @solution[:room_sid], @solution[:sid], sid, ) 245 end 246 247 unless @published_tracks 248 @published_tracks = PublishedTrackList.new( 249 @version, 250 room_sid: @solution[:room_sid], 251 participant_sid: @solution[:sid], 252 ) 253 end 254 255 @published_tracks 256 end
Access the subscribe_rules
@return [SubscribeRulesList] @return [SubscribeRulesContext]
# File lib/twilio-ruby/rest/video/v1/room/room_participant.rb 284 def subscribe_rules 285 unless @subscribe_rules 286 @subscribe_rules = SubscribeRulesList.new( 287 @version, 288 room_sid: @solution[:room_sid], 289 participant_sid: @solution[:sid], 290 ) 291 end 292 293 @subscribe_rules 294 end
Access the subscribed_tracks
@return [SubscribedTrackList] @return [SubscribedTrackContext] if sid was passed.
# File lib/twilio-ruby/rest/video/v1/room/room_participant.rb 262 def subscribed_tracks(sid=:unset) 263 raise ArgumentError, 'sid cannot be nil' if sid.nil? 264 265 if sid != :unset 266 return SubscribedTrackContext.new(@version, @solution[:room_sid], @solution[:sid], sid, ) 267 end 268 269 unless @subscribed_tracks 270 @subscribed_tracks = SubscribedTrackList.new( 271 @version, 272 room_sid: @solution[:room_sid], 273 participant_sid: @solution[:sid], 274 ) 275 end 276 277 @subscribed_tracks 278 end
Provide a user friendly representation
# File lib/twilio-ruby/rest/video/v1/room/room_participant.rb 298 def to_s 299 context = @solution.map {|k, v| "#{k}: #{v}"}.join(',') 300 "#<Twilio.Video.V1.ParticipantContext #{context}>" 301 end
Update the ParticipantInstance
@param [participant.Status] status The new status of the resource. Can be:
`connected` or `disconnected`. For `in-progress` Rooms the default Status is `connected`, for `completed` Rooms only `disconnected` Participants are returned.
@return [ParticipantInstance] Updated ParticipantInstance
# File lib/twilio-ruby/rest/video/v1/room/room_participant.rb 228 def update(status: :unset) 229 data = Twilio::Values.of({'Status' => status, }) 230 231 payload = @version.update('POST', @uri, data: data) 232 233 ParticipantInstance.new(@version, payload, room_sid: @solution[:room_sid], sid: @solution[:sid], ) 234 end