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



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



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

def 
    @properties['account_sid']
end

#codecsArray<Codec>



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



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



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

def duration_sec
    @properties['duration_sec']
end

#edge_locationEdgeLocation



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

def edge_location
    @properties['edge_location']
end

#end_reasonString



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

def end_reason
    @properties['end_reason']
end

#error_codeString



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



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



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



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

def join_time
    @properties['join_time']
end

#leave_timeTime



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

def leave_time
    @properties['leave_time']
end

#media_regionTwilioRealm



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

def media_region
    @properties['media_region']
end

#participant_identityString



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

def participant_identity
    @properties['participant_identity']
end

#participant_sidString



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

def participant_sid
    @properties['participant_sid']
end

#propertiesHash



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

def properties
    @properties['properties']
end

#publisher_infoHash



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

def publisher_info
    @properties['publisher_info']
end

#room_sidString



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

def room_sid
    @properties['room_sid']
end

#statusRoomStatus



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



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

def url
    @properties['url']
end