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.



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

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.



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

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



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

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:



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

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.



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

def duration_sec
    @properties['duration_sec']
end

#edge_locationEdgeLocation

Returns:

  • (EdgeLocation)


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

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/video-log-analyzer/video-log-analyzer-api#end_reason).

Returns:



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

def end_reason
    @properties['end_reason']
end

#error_codeString

Returns Errors encountered by the participant.

Returns:

  • (String)

    Errors encountered by the participant.



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

def error_code
    @properties['error_code']
end

#error_code_urlString

Returns Twilio error code dictionary link.

Returns:

  • (String)

    Twilio error code dictionary link.



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

def error_code_url
    @properties['error_code_url']
end

#fetchParticipantInstance

Fetch the ParticipantInstance

Returns:



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

def fetch

    context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



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

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.



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

def join_time
    @properties['join_time']
end

#leave_timeTime

Returns When the participant left the room.

Returns:

  • (Time)

    When the participant left the room.



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

def leave_time
    @properties['leave_time']
end

#media_regionTwilioRealm

Returns:

  • (TwilioRealm)


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

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.



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

def participant_identity
    @properties['participant_identity']
end

#participant_sidString

Returns Unique identifier for the participant.

Returns:

  • (String)

    Unique identifier for the participant.



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

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/video-log-analyzer/video-log-analyzer-api#properties) for more information.

Returns:



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

def properties
    @properties['properties']
end

#publisher_infoHash

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

Returns:



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

def publisher_info
    @properties['publisher_info']
end

#room_sidString

Returns Unique identifier for the room.

Returns:

  • (String)

    Unique identifier for the room.



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

def room_sid
    @properties['room_sid']
end

#statusRoomStatus

Returns:

  • (RoomStatus)


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

def status
    @properties['status']
end

#to_sObject

Provide a user friendly representation



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

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.



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

def url
    @properties['url']
end