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



318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 318

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'] == nil ? payload['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



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

def 
  @properties['account_sid']
end

#closed_reasonString



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

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



350
351
352
353
354
355
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 350

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

#date_createdTime



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

def date_created
  @properties['date_created']
end

#date_endedTime



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

def date_ended
  @properties['date_ended']
end

#date_expiryTime



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

def date_expiry
  @properties['date_expiry']
end

#date_last_interactionTime



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

def date_last_interaction
  @properties['date_last_interaction']
end

#date_startedTime



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

def date_started
  @properties['date_started']
end

#date_updatedTime



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

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Delete the SessionInstance



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

def delete
  context.delete
end

#fetchSessionInstance

Fetch the SessionInstance



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

def fetch
  context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



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

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

#interactionsinteractions

Access the interactions



484
485
486
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 484

def interactions
  context.interactions
end


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

def links
  @properties['links']
end

#modesession.Mode



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

def mode
  @properties['mode']
end

#participantsparticipants

Access the participants



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

def participants
  context.participants
end

#service_sidString



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

def service_sid
  @properties['service_sid']
end

#sidString



359
360
361
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 359

def sid
  @properties['sid']
end

#statussession.Status



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

def status
  @properties['status']
end

#to_sObject

Provide a user friendly representation



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

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

#ttlString



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

def ttl
  @properties['ttl']
end

#unique_nameString



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

def unique_name
  @properties['unique_name']
end

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

Update the SessionInstance



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

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

#urlString



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

def url
  @properties['url']
end