Class: Twilio::REST::Video::V1::RoomContext::ParticipantInstance

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

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, room_sid: nil, sid: nil) ⇒ ParticipantInstance

Initialize the ParticipantInstance

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 Participant resource.

  • sid (String) (defaults to: nil)

    The SID of the Call resource to fetch.



321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 321

def initialize(version, payload , room_sid: nil, sid: nil)
    super(version)
    
    # Marshaled Properties
    @properties = { 
        'sid' => payload['sid'],
        'room_sid' => payload['room_sid'],
        'account_sid' => payload['account_sid'],
        'status' => payload['status'],
        'identity' => payload['identity'],
        'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
        'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
        'start_time' => Twilio.deserialize_iso8601_datetime(payload['start_time']),
        'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
        'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
        'url' => payload['url'],
        'links' => payload['links'],
    }

    # Context
    @instance_context = nil
    @params = { 'room_sid' => room_sid  || @properties['room_sid']  ,'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 RoomParticipant resource.

Returns:



370
371
372
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 370

def 
    @properties['account_sid']
end

#anonymizeanonymize

Access the anonymize

Returns:



466
467
468
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 466

def anonymize
    context.anonymize
end

#contextParticipantContext

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

Returns:



349
350
351
352
353
354
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 349

def context
    unless @instance_context
        @instance_context = ParticipantContext.new(@version , @params['room_sid'], @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:



388
389
390
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 388

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:



394
395
396
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 394

def date_updated
    @properties['date_updated']
end

#durationString

Returns The duration in seconds that the participant was ‘connected`. Populated only after the participant is `disconnected`.

Returns:

  • (String)

    The duration in seconds that the participant was ‘connected`. Populated only after the participant is `disconnected`.



412
413
414
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 412

def duration
    @properties['duration']
end

#end_timeTime

Returns The time when the participant disconnected from the room in [ISO 8601](en.wikipedia.org/wiki/ISO_8601#UTC) format.

Returns:



406
407
408
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 406

def end_time
    @properties['end_time']
end

#fetchParticipantInstance

Fetch the ParticipantInstance

Returns:



431
432
433
434
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 431

def fetch

    context.fetch
end

#identityString

Returns The application-defined string that uniquely identifies the resource’s User within a Room. If a client joins with an existing Identity, the existing client is disconnected. See [access tokens](www.twilio.com/docs/video/tutorials/user-identity-access-tokens) and [limits](www.twilio.com/docs/video/programmable-video-limits) for more info.

Returns:



382
383
384
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 382

def identity
    @properties['identity']
end

#inspectObject

Provide a detailed, user friendly representation



486
487
488
489
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 486

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

Returns The URLs of related resources.

Returns:

  • (Hash)

    The URLs of related resources.



424
425
426
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 424

def links
    @properties['links']
end

#published_trackspublished_tracks

Access the published_tracks

Returns:



473
474
475
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 473

def published_tracks
    context.published_tracks
end

#room_sidString

Returns The SID of the participant’s room.

Returns:

  • (String)

    The SID of the participant’s room.



364
365
366
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 364

def room_sid
    @properties['room_sid']
end

#sidString

Returns The unique string that we created to identify the RoomParticipant resource.

Returns:

  • (String)

    The unique string that we created to identify the RoomParticipant resource.



358
359
360
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 358

def sid
    @properties['sid']
end

#start_timeTime

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

Returns:



400
401
402
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 400

def start_time
    @properties['start_time']
end

#statusStatus

Returns:

  • (Status)


376
377
378
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 376

def status
    @properties['status']
end

#subscribe_rulessubscribe_rules

Access the subscribe_rules

Returns:



452
453
454
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 452

def subscribe_rules
    context.subscribe_rules
end

#subscribed_trackssubscribed_tracks

Access the subscribed_tracks

Returns:



459
460
461
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 459

def subscribed_tracks
    context.subscribed_tracks
end

#to_sObject

Provide a user friendly representation



479
480
481
482
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 479

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

#update(status: :unset) ⇒ ParticipantInstance

Update the ParticipantInstance

Parameters:

  • status (Status) (defaults to: :unset)

Returns:



440
441
442
443
444
445
446
447
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 440

def update(
    status: :unset
)

    context.update(
        status: status, 
    )
end

#urlString

Returns The absolute URL of the resource.

Returns:

  • (String)

    The absolute URL of the resource.



418
419
420
# File 'lib/twilio-ruby/rest/video/v1/room/participant.rb', line 418

def url
    @properties['url']
end