Class: Twilio::REST::Proxy::V1::ServiceContext::SessionInstance

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

Overview

PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.

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.



332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 332

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'],
      'date_started' => Twilio.deserialize_iso8601_datetime(payload['date_started']),
      'date_ended' => Twilio.deserialize_iso8601_datetime(payload['date_ended']),
      'date_last_interaction' => Twilio.deserialize_iso8601_datetime(payload['date_last_interaction']),
      'date_expiry' => Twilio.deserialize_iso8601_datetime(payload['date_expiry']),
      'unique_name' => payload['unique_name'],
      'status' => payload['status'],
      'closed_reason' => payload['closed_reason'],
      'ttl' => payload['ttl'].to_i,
      'mode' => payload['mode'],
      '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.



385
386
387
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 385

def 
  @properties['account_sid']
end

#closed_reasonString

Returns Reason Session ended.

Returns:

  • (String)

    Reason Session ended.



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

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



364
365
366
367
368
369
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 364

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



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

def date_created
  @properties['date_created']
end

#date_endedTime

Returns The date this Session was ended.

Returns:

  • (Time)

    The date this Session was ended



397
398
399
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 397

def date_ended
  @properties['date_ended']
end

#date_expiryTime

Returns The date this Session should expire.

Returns:

  • (Time)

    The date this Session should expire



409
410
411
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 409

def date_expiry
  @properties['date_expiry']
end

#date_last_interactionTime

Returns The date this Session last had an interaction.

Returns:

  • (Time)

    The date this Session last had an interaction



403
404
405
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 403

def date_last_interaction
  @properties['date_last_interaction']
end

#date_startedTime

Returns The date this Session was started.

Returns:

  • (Time)

    The date this Session was started



391
392
393
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 391

def date_started
  @properties['date_started']
end

#date_updatedTime

Returns The date this Session was last updated.

Returns:

  • (Time)

    The date this Session was last updated



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

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the SessionInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



477
478
479
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 477

def delete
  context.delete
end

#fetchSessionInstance

Fetch a SessionInstance

Returns:



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

def fetch
  context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



525
526
527
528
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 525

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

#interactionsinteractions

Access the interactions

Returns:



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

def interactions
  context.interactions
end

Returns Nested resource URLs.

Returns:

  • (String)

    Nested resource URLs.



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

def links
  @properties['links']
end

#modesession.Mode

Returns The Mode of this Session.

Returns:

  • (session.Mode)

    The Mode of this Session



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

def mode
  @properties['mode']
end

#participantsparticipants

Access the participants

Returns:



512
513
514
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 512

def participants
  context.participants
end

#service_sidString

Returns Service Sid.

Returns:

  • (String)

    Service Sid.



379
380
381
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 379

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.



373
374
375
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 373

def sid
  @properties['sid']
end

#statussession.Status

Returns The Status of this Session.

Returns:

  • (session.Status)

    The Status of this Session



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

def status
  @properties['status']
end

#to_sObject

Provide a user friendly representation



518
519
520
521
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 518

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

#ttlString

Returns TTL for a Session, in seconds.

Returns:

  • (String)

    TTL for a Session, in seconds.



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

def ttl
  @properties['ttl']
end

#unique_nameString

Returns A unique, developer assigned identifier for this Session.

Returns:

  • (String)

    A unique, developer assigned identifier for this Session.



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

def unique_name
  @properties['unique_name']
end

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

Update the SessionInstance

Parameters:

  • date_expiry (Time) (defaults to: :unset)

    The date that this Session should expire, given in ISO 8601 format.

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

    The time, in seconds, after the latest of Session create time or the Session’s last Interaction time at which the session will expire.

  • mode (session.Mode) (defaults to: :unset)

    The mode

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

    The Status of this Session. Set to ‘in-progress` to re-open a session or `closed` to close a session.

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

    The participants

Returns:



492
493
494
495
496
497
498
499
500
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 492

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

#urlString

Returns The URL of this resource.

Returns:

  • (String)

    The URL of this resource.



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

def url
  @properties['url']
end