Class: Twilio::REST::Preview::Proxy::ServiceContext::SessionContext::ParticipantInstance

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb

Overview

PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact [email protected].

Instance Method Summary collapse

Constructor Details

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

Initialize the ParticipantInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • service_sid (String) (defaults to: nil)

    The unique SID identifier of the Service.

  • session_sid (String) (defaults to: nil)

    The unique SID identifier of the Session.

  • sid (String) (defaults to: nil)

    A 34 character string that uniquely identifies this Participant.



341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 341

def initialize(version, payload, service_sid: nil, session_sid: nil, sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'session_sid' => payload['session_sid'],
      'service_sid' => payload['service_sid'],
      'account_sid' => payload['account_sid'],
      'friendly_name' => payload['friendly_name'],
      'participant_type' => payload['participant_type'],
      'identifier' => payload['identifier'],
      'proxy_identifier' => payload['proxy_identifier'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'url' => payload['url'],
      'links' => payload['links'],
  }

  # Context
  @instance_context = nil
  @params = {
      'service_sid' => service_sid,
      'session_sid' => session_sid,
      'sid' => sid || @properties['sid'],
  }
end

Instance Method Details

#account_sidString

Returns Account Sid.

Returns:

  • (String)

    Account Sid.



405
406
407
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 405

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



373
374
375
376
377
378
379
380
381
382
383
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 373

def context
  unless @instance_context
    @instance_context = ParticipantContext.new(
        @version,
        @params['service_sid'],
        @params['session_sid'],
        @params['sid'],
    )
  end
  @instance_context
end

#date_createdTime

Returns The date this Participant was created.

Returns:

  • (Time)

    The date this Participant was created



435
436
437
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 435

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date this Participant was updated.

Returns:

  • (Time)

    The date this Participant was updated



441
442
443
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 441

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the ParticipantInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



467
468
469
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 467

def delete
  context.delete
end

#fetchParticipantInstance

Fetch a ParticipantInstance

Returns:



460
461
462
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 460

def fetch
  context.fetch
end

#friendly_nameString

Returns A human readable description of this resource.

Returns:

  • (String)

    A human readable description of this resource



411
412
413
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 411

def friendly_name
  @properties['friendly_name']
end

#identifierString

Returns The Participant’s contact identifier, normally a phone number.

Returns:

  • (String)

    The Participant’s contact identifier, normally a phone number.



423
424
425
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 423

def identifier
  @properties['identifier']
end

#inspectObject

Provide a detailed, user friendly representation



504
505
506
507
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 504

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

Returns Nested resource URLs.

Returns:

  • (String)

    Nested resource URLs.



453
454
455
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 453

def links
  @properties['links']
end

#message_interactionsmessage_interactions

Access the message_interactions

Returns:



491
492
493
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 491

def message_interactions
  context.message_interactions
end

#participant_typeparticipant.ParticipantType

Returns The Type of this Participant.

Returns:

  • (participant.ParticipantType)

    The Type of this Participant



417
418
419
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 417

def participant_type
  @properties['participant_type']
end

#proxy_identifierString

Returns What this Participant communicates with, normally a phone number.

Returns:

  • (String)

    What this Participant communicates with, normally a phone number.



429
430
431
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 429

def proxy_identifier
  @properties['proxy_identifier']
end

#service_sidString

Returns Service Sid.

Returns:

  • (String)

    Service Sid.



399
400
401
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 399

def service_sid
  @properties['service_sid']
end

#session_sidString

Returns Session Sid.

Returns:

  • (String)

    Session Sid.



393
394
395
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 393

def session_sid
  @properties['session_sid']
end

#sidString

Returns A string that uniquely identifies this Participant.

Returns:

  • (String)

    A string that uniquely identifies this Participant.



387
388
389
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 387

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



497
498
499
500
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 497

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

#update(participant_type: :unset, identifier: :unset, friendly_name: :unset) ⇒ ParticipantInstance

Update the ParticipantInstance

Parameters:

  • participant_type (participant.ParticipantType) (defaults to: :unset)

    The Type of this Participant. One of ‘sms`, `voice` or `phone`.

  • identifier (String) (defaults to: :unset)

    The Participant’s contact identifier, normally a phone number.

  • friendly_name (String) (defaults to: :unset)

    A human readable description of this resource, up to 64 characters.

Returns:



480
481
482
483
484
485
486
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 480

def update(participant_type: :unset, identifier: :unset, friendly_name: :unset)
  context.update(
      participant_type: participant_type,
      identifier: identifier,
      friendly_name: friendly_name,
  )
end

#urlString

Returns The URL of this resource.

Returns:

  • (String)

    The URL of this resource.



447
448
449
# File 'lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb', line 447

def url
  @properties['url']
end