Class: Twilio::REST::Insights::V1::RoomContext::ParticipantInstance

Inherits:
Twilio::REST::InstanceResource show all
Defined in:
lib/twilio-ruby/rest/insights/v1/room/participant.rb

Instance Method Summary collapse

Constructor Details

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

    The SID of the Call resource to fetch.



214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 214

def initialize(version, payload , room_sid: nil, participant_sid: nil)
    super(version)
    
    # Marshaled Properties
    @properties = { 
        'participant_sid' => payload['participant_sid'],
        'participant_identity' => payload['participant_identity'],
        'join_time' => Twilio.deserialize_iso8601_datetime(payload['join_time']),
        'leave_time' => Twilio.deserialize_iso8601_datetime(payload['leave_time']),
        'duration_sec' => payload['duration_sec'],
        'account_sid' => payload['account_sid'],
        'room_sid' => payload['room_sid'],
        'status' => payload['status'],
        'codecs' => payload['codecs'],
        'end_reason' => payload['end_reason'],
        'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
        'error_code_url' => payload['error_code_url'],
        'media_region' => payload['media_region'],
        'properties' => payload['properties'],
        'edge_location' => payload['edge_location'],
        'publisher_info' => payload['publisher_info'],
        'url' => payload['url'],
    }

    # Context
    @instance_context = nil
    @params = { 'room_sid' => room_sid  || @properties['room_sid']  ,'participant_sid' => participant_sid  || @properties['participant_sid']  , }
end

Instance Method Details

#account_sidString

Returns Account SID associated with the room.

Returns:

  • (String)

    Account SID associated with the room.



286
287
288
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 286

def 
    @properties['account_sid']
end

#codecsArray<Codec>

Returns Codecs detected from the participant. Can be ‘VP8`, `H264`, or `VP9`.

Returns:

  • (Array<Codec>)

    Codecs detected from the participant. Can be ‘VP8`, `H264`, or `VP9`.



304
305
306
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 304

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



247
248
249
250
251
252
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 247

def context
    unless @instance_context
        @instance_context = ParticipantContext.new(@version , @params['room_sid'], @params['participant_sid'])
    end
    @instance_context
end

#duration_secString

Returns Amount of time in seconds the participant was in the room.

Returns:

  • (String)

    Amount of time in seconds the participant was in the room.



280
281
282
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 280

def duration_sec
    @properties['duration_sec']
end

#edge_locationEdgeLocation

Returns:

  • (EdgeLocation)


340
341
342
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 340

def edge_location
    @properties['edge_location']
end

#end_reasonString

Returns Reason the participant left the room. See [the list of possible values here](www.twilio.com/docs/video/troubleshooting/video-log-analyzer-api#end_reason).

Returns:



310
311
312
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 310

def end_reason
    @properties['end_reason']
end

#error_codeString

Returns Errors encountered by the participant.

Returns:

  • (String)

    Errors encountered by the participant.



316
317
318
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 316

def error_code
    @properties['error_code']
end

#error_code_urlString

Returns Twilio error code dictionary link.

Returns:

  • (String)

    Twilio error code dictionary link.



322
323
324
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 322

def error_code_url
    @properties['error_code_url']
end

#fetchParticipantInstance

Fetch the ParticipantInstance

Returns:



359
360
361
362
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 359

def fetch

    context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



373
374
375
376
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 373

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

#join_timeTime

Returns When the participant joined the room.

Returns:

  • (Time)

    When the participant joined the room.



268
269
270
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 268

def join_time
    @properties['join_time']
end

#leave_timeTime

Returns When the participant left the room.

Returns:

  • (Time)

    When the participant left the room.



274
275
276
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 274

def leave_time
    @properties['leave_time']
end

#media_regionTwilioRealm

Returns:

  • (TwilioRealm)


328
329
330
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 328

def media_region
    @properties['media_region']
end

#participant_identityString

Returns The application-defined string that uniquely identifies the participant within a Room.

Returns:

  • (String)

    The application-defined string that uniquely identifies the participant within a Room.



262
263
264
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 262

def participant_identity
    @properties['participant_identity']
end

#participant_sidString

Returns Unique identifier for the participant.

Returns:

  • (String)

    Unique identifier for the participant.



256
257
258
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 256

def participant_sid
    @properties['participant_sid']
end

#propertiesHash

Returns Object containing information about the participant’s data from the room. See [below](www.twilio.com/docs/video/troubleshooting/video-log-analyzer-api#properties) for more information.

Returns:



334
335
336
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 334

def properties
    @properties['properties']
end

#publisher_infoHash

Returns Object containing information about the SDK name and version. See [below](www.twilio.com/docs/video/troubleshooting/video-log-analyzer-api#publisher_info) for more information.

Returns:



346
347
348
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 346

def publisher_info
    @properties['publisher_info']
end

#room_sidString

Returns Unique identifier for the room.

Returns:

  • (String)

    Unique identifier for the room.



292
293
294
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 292

def room_sid
    @properties['room_sid']
end

#statusRoomStatus

Returns:

  • (RoomStatus)


298
299
300
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 298

def status
    @properties['status']
end

#to_sObject

Provide a user friendly representation



366
367
368
369
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 366

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

#urlString

Returns URL of the participant resource.

Returns:

  • (String)

    URL of the participant resource.



352
353
354
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 352

def url
    @properties['url']
end