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



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



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

def 
  @properties['account_sid']
end

#closed_reasonString



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



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



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

def date_created
  @properties['date_created']
end

#date_endedTime



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

def date_ended
  @properties['date_ended']
end

#date_expiryTime



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



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



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

def date_started
  @properties['date_started']
end

#date_updatedTime



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



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

def delete
  context.delete
end

#fetchSessionInstance

Fetch a SessionInstance



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



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

def interactions
  context.interactions
end


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

def links
  @properties['links']
end

#modesession.Mode



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

def mode
  @properties['mode']
end

#participantsparticipants

Access the participants



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

def participants
  context.participants
end

#service_sidString



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

def service_sid
  @properties['service_sid']
end

#sidString



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

def sid
  @properties['sid']
end

#statussession.Status



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



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

def ttl
  @properties['ttl']
end

#unique_nameString



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



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



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

def url
  @properties['url']
end