Class: Twilio::REST::Preview::Proxy::ServiceContext::SessionInstance

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/preview/proxy/service/session.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, sid: nil) ⇒ SessionInstance

Initialize the SessionInstance

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.

  • sid (String) (defaults to: nil)

    A 34 character string that uniquely identifies this Session.



371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 371

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

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'service_sid' => payload['service_sid'],
      'account_sid' => payload['account_sid'],
      'unique_name' => payload['unique_name'],
      'ttl' => payload['ttl'].to_i,
      'status' => payload['status'],
      'start_time' => Twilio.deserialize_iso8601_datetime(payload['start_time']),
      'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
      '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,
      'sid' => sid || @properties['sid'],
  }
end

Instance Method Details

#account_sidString

Returns Account Sid.

Returns:

  • (String)

    Account Sid.



427
428
429
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 427

def 
  @properties['account_sid']
end

#contextSessionContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



402
403
404
405
406
407
408
409
410
411
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 402

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

#date_createdTime

Returns The date this Session was created.

Returns:

  • (Time)

    The date this Session was created



463
464
465
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 463

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date this Session was updated.

Returns:

  • (Time)

    The date this Session was updated



469
470
471
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 469

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the SessionInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



495
496
497
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 495

def delete
  context.delete
end

#end_timeTime

Returns The date this Session was ended.

Returns:

  • (Time)

    The date this Session was ended



457
458
459
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 457

def end_time
  @properties['end_time']
end

#fetchSessionInstance

Fetch a SessionInstance

Returns:



488
489
490
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 488

def fetch
  context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



542
543
544
545
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 542

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

#interactionsinteractions

Access the interactions

Returns:



522
523
524
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 522

def interactions
  context.interactions
end

Returns Nested resource URLs.

Returns:

  • (String)

    Nested resource URLs.



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

def links
  @properties['links']
end

#participantsparticipants

Access the participants

Returns:



529
530
531
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 529

def participants
  context.participants
end

#service_sidString

Returns Service Sid.

Returns:

  • (String)

    Service Sid.



421
422
423
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 421

def service_sid
  @properties['service_sid']
end

#sidString

Returns A string that uniquely identifies this Session.

Returns:

  • (String)

    A string that uniquely identifies this Session.



415
416
417
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 415

def sid
  @properties['sid']
end

#start_timeTime

Returns The date this Session was started.

Returns:

  • (Time)

    The date this Session was started



451
452
453
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 451

def start_time
  @properties['start_time']
end

#statussession.Status

Returns The Status of this Session.

Returns:

  • (session.Status)

    The Status of this Session



445
446
447
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 445

def status
  @properties['status']
end

#to_sObject

Provide a user friendly representation



535
536
537
538
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 535

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

#ttlString

Returns How long will this session stay open, in seconds.

Returns:

  • (String)

    How long will this session stay open, in seconds.



439
440
441
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 439

def ttl
  @properties['ttl']
end

#unique_nameString

Returns A unique, developer assigned name of this Session.

Returns:

  • (String)

    A unique, developer assigned name of this Session.



433
434
435
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 433

def unique_name
  @properties['unique_name']
end

#update(unique_name: :unset, ttl: :unset, status: :unset, participants: :unset) ⇒ SessionInstance

Update the SessionInstance

Parameters:

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

    Provides a unique and addressable name to be assigned to this Session, assigned by the developer, to be optionally used in addition to SID.

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

    How long will this session stay open, in seconds. Each new interaction resets this timer.

  • status (session.Status) (defaults to: :unset)

    The Status of this Session. One of ‘in-progess` or `completed`.

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

    The participants

Returns:



510
511
512
513
514
515
516
517
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 510

def update(unique_name: :unset, ttl: :unset, status: :unset, participants: :unset)
  context.update(
      unique_name: unique_name,
      ttl: ttl,
      status: status,
      participants: participants,
  )
end

#urlString

Returns The URL of this Session.

Returns:

  • (String)

    The URL of this Session.



475
476
477
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 475

def url
  @properties['url']
end