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.



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
242
243
# File 'lib/twilio-ruby/rest/insights/v1/room/participant.rb', line 216

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.



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

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`.



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

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:



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

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.



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

def duration_sec
    @properties['duration_sec']
end

#edge_locationEdgeLocation

Returns:

  • (EdgeLocation)


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

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:



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

def end_reason
    @properties['end_reason']
end

#error_codeString

Returns Errors encountered by the participant.

Returns:

  • (String)

    Errors encountered by the participant.



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

def error_code
    @properties['error_code']
end

#error_code_urlString

Returns Twilio error code dictionary link.

Returns:

  • (String)

    Twilio error code dictionary link.



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

def error_code_url
    @properties['error_code_url']
end

#fetchParticipantInstance

Fetch the ParticipantInstance

Returns:



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

def fetch

    context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



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

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.



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

def join_time
    @properties['join_time']
end

#leave_timeTime

Returns When the participant left the room.

Returns:

  • (Time)

    When the participant left the room.



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

def leave_time
    @properties['leave_time']
end

#media_regionTwilioRealm

Returns:

  • (TwilioRealm)


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

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.



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

def participant_identity
    @properties['participant_identity']
end

#participant_sidString

Returns Unique identifier for the participant.

Returns:

  • (String)

    Unique identifier for the participant.



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

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:



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

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:



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

def publisher_info
    @properties['publisher_info']
end

#room_sidString

Returns Unique identifier for the room.

Returns:

  • (String)

    Unique identifier for the room.



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

def room_sid
    @properties['room_sid']
end

#statusRoomStatus

Returns:

  • (RoomStatus)


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

def status
    @properties['status']
end

#to_sObject

Provide a user friendly representation



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

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.



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

def url
    @properties['url']
end