Class: Twilio::REST::Video::V1::RoomContext::ParticipantContext
- Inherits:
-
InstanceContext
- Object
- InstanceContext
- Twilio::REST::Video::V1::RoomContext::ParticipantContext
- Defined in:
- lib/twilio-ruby/rest/video/v1/room/room_participant.rb,
lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb,
lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb
Defined Under Namespace
Classes: PublishedTrackContext, PublishedTrackInstance, PublishedTrackList, PublishedTrackPage, SubscribedTrackInstance, SubscribedTrackList, SubscribedTrackPage
Instance Method Summary collapse
-
#fetch ⇒ ParticipantInstance
Fetch a ParticipantInstance.
-
#initialize(version, room_sid, sid) ⇒ ParticipantContext
constructor
Initialize the ParticipantContext.
-
#published_tracks(sid = :unset) ⇒ PublishedTrackList, PublishedTrackContext
Access the published_tracks.
-
#subscribed_tracks ⇒ SubscribedTrackList, SubscribedTrackContext
Access the subscribed_tracks.
-
#to_s ⇒ Object
Provide a user friendly representation.
-
#update(status: :unset) ⇒ ParticipantInstance
Update the ParticipantInstance.
Constructor Details
#initialize(version, room_sid, sid) ⇒ ParticipantContext
Initialize the ParticipantContext
204 205 206 207 208 209 210 211 212 213 214 |
# File 'lib/twilio-ruby/rest/video/v1/room/room_participant.rb', line 204 def initialize(version, room_sid, sid) super(version) # Path Solution @solution = {room_sid: room_sid, sid: sid, } @uri = "/Rooms/#{@solution[:room_sid]}/Participants/#{@solution[:sid]}" # Dependents @published_tracks = nil @subscribed_tracks = nil end |
Instance Method Details
#fetch ⇒ ParticipantInstance
Fetch a ParticipantInstance
219 220 221 222 223 224 225 226 227 228 229 |
# File 'lib/twilio-ruby/rest/video/v1/room/room_participant.rb', line 219 def fetch params = Twilio::Values.of({}) payload = @version.fetch( 'GET', @uri, params, ) ParticipantInstance.new(@version, payload, room_sid: @solution[:room_sid], sid: @solution[:sid], ) end |
#published_tracks(sid = :unset) ⇒ PublishedTrackList, PublishedTrackContext
Access the published_tracks
251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 |
# File 'lib/twilio-ruby/rest/video/v1/room/room_participant.rb', line 251 def published_tracks(sid=:unset) raise ArgumentError, 'sid cannot be nil' if sid.nil? if sid != :unset return PublishedTrackContext.new(@version, @solution[:room_sid], @solution[:sid], sid, ) end unless @published_tracks @published_tracks = PublishedTrackList.new( @version, room_sid: @solution[:room_sid], participant_sid: @solution[:sid], ) end @published_tracks end |
#subscribed_tracks ⇒ SubscribedTrackList, SubscribedTrackContext
Access the subscribed_tracks
273 274 275 276 277 278 279 280 281 282 283 |
# File 'lib/twilio-ruby/rest/video/v1/room/room_participant.rb', line 273 def subscribed_tracks unless @subscribed_tracks @subscribed_tracks = SubscribedTrackList.new( @version, room_sid: @solution[:room_sid], subscriber_sid: @solution[:sid], ) end @subscribed_tracks end |
#to_s ⇒ Object
Provide a user friendly representation
287 288 289 290 |
# File 'lib/twilio-ruby/rest/video/v1/room/room_participant.rb', line 287 def to_s context = @solution.map {|k, v| "#{k}: #{v}"}.join(',') "#<Twilio.Video.V1.ParticipantContext #{context}>" end |
#update(status: :unset) ⇒ ParticipantInstance
Update the ParticipantInstance
235 236 237 238 239 240 241 242 243 244 245 |
# File 'lib/twilio-ruby/rest/video/v1/room/room_participant.rb', line 235 def update(status: :unset) data = Twilio::Values.of({'Status' => status, }) payload = @version.update( 'POST', @uri, data: data, ) ParticipantInstance.new(@version, payload, room_sid: @solution[:room_sid], sid: @solution[:sid], ) end |