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.



327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 327

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.



376
377
378
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 376

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:



355
356
357
358
359
360
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 355

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



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

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date this Session was updated.

Returns:

  • (Time)

    The date this Session was updated



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

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the SessionInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



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

def delete
  context.delete
end

#end_timeTime

Returns The date this Session was ended.

Returns:

  • (Time)

    The date this Session was ended



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

def end_time
  @properties['end_time']
end

#fetchSessionInstance

Fetch a SessionInstance

Returns:



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

def fetch
  context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



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

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

#interactionsinteractions

Access the interactions

Returns:



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

def interactions
  context.interactions
end

Returns Nested resource URLs.

Returns:

  • (String)

    Nested resource URLs.



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

def links
  @properties['links']
end

#participantsparticipants

Access the participants

Returns:



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

def participants
  context.participants
end

#service_sidString

Returns Service Sid.

Returns:

  • (String)

    Service Sid.



370
371
372
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 370

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.



364
365
366
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 364

def sid
  @properties['sid']
end

#start_timeTime

Returns The date this Session was started.

Returns:

  • (Time)

    The date this Session was started



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

def start_time
  @properties['start_time']
end

#statussession.Status

Returns The Status of this Session.

Returns:

  • (session.Status)

    The Status of this Session



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

def status
  @properties['status']
end

#to_sObject

Provide a user friendly representation



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

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.



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

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.



382
383
384
# File 'lib/twilio-ruby/rest/preview/proxy/service/session.rb', line 382

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:



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

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.



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

def url
  @properties['url']
end