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
180 181 182 183 184 185 186 187 188 189 190 |
# File 'lib/twilio-ruby/rest/video/v1/room/room_participant.rb', line 180 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
195 196 197 198 199 200 201 202 203 204 205 |
# File 'lib/twilio-ruby/rest/video/v1/room/room_participant.rb', line 195 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
227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 |
# File 'lib/twilio-ruby/rest/video/v1/room/room_participant.rb', line 227 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
249 250 251 252 253 254 255 256 257 258 259 |
# File 'lib/twilio-ruby/rest/video/v1/room/room_participant.rb', line 249 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
263 264 265 266 |
# File 'lib/twilio-ruby/rest/video/v1/room/room_participant.rb', line 263 def to_s context = @solution.map {|k, v| "#{k}: #{v}"}.join(',') "#<Twilio.Video.V1.ParticipantContext #{context}>" end |
#update(status: :unset) ⇒ ParticipantInstance
Update the ParticipantInstance
211 212 213 214 215 216 217 218 219 220 221 |
# File 'lib/twilio-ruby/rest/video/v1/room/room_participant.rb', line 211 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 |