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

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

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

  • account_sid (String)

    The SID of the Account that created this Session resource.

  • sid (String) (defaults to: nil)

    The SID of the Call resource to fetch.



620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 620

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  || @properties['service_sid']  ,'sid' => sid  || @properties['sid']  , }
end

Instance Method Details

#account_sidString

Returns The SID of the [Account](www.twilio.com/docs/iam/api/account) that created the Session resource.

Returns:



674
675
676
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 674

def 
    @properties['account_sid']
end

#closed_reasonString

Returns The reason the Session ended.

Returns:

  • (String)

    The reason the Session ended.



716
717
718
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 716

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:



653
654
655
656
657
658
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 653

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

#date_createdTime

Returns The [ISO 8601](en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was created.

Returns:



734
735
736
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 734

def date_created
    @properties['date_created']
end

#date_endedTime

Returns The [ISO 8601](en.wikipedia.org/wiki/ISO_8601) date when the Session ended.

Returns:



686
687
688
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 686

def date_ended
    @properties['date_ended']
end

#date_expiryTime

Returns The [ISO 8601](en.wikipedia.org/wiki/ISO_8601) date when the Session should expire. If this is value is present, it overrides the ‘ttl` value.

Returns:

  • (Time)

    The [ISO 8601](en.wikipedia.org/wiki/ISO_8601) date when the Session should expire. If this is value is present, it overrides the ‘ttl` value.



698
699
700
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 698

def date_expiry
    @properties['date_expiry']
end

#date_last_interactionTime

Returns The [ISO 8601](en.wikipedia.org/wiki/ISO_8601) date when the Session last had an interaction.

Returns:



692
693
694
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 692

def date_last_interaction
    @properties['date_last_interaction']
end

#date_startedTime

Returns The [ISO 8601](en.wikipedia.org/wiki/ISO_8601) date when the Session started.

Returns:



680
681
682
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 680

def date_started
    @properties['date_started']
end

#date_updatedTime

Returns The [ISO 8601](en.wikipedia.org/wiki/ISO_8601) date and time in GMT when the resource was last updated.

Returns:



740
741
742
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 740

def date_updated
    @properties['date_updated']
end

#deleteBoolean

Delete the SessionInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



759
760
761
762
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 759

def delete

    context.delete
end

#fetchSessionInstance

Fetch the SessionInstance

Returns:



767
768
769
770
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 767

def fetch

    context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



814
815
816
817
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 814

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

#interactionsinteractions

Access the interactions

Returns:



794
795
796
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 794

def interactions
    context.interactions
end

Returns The URLs of resources related to the Session.

Returns:

  • (Hash)

    The URLs of resources related to the Session.



752
753
754
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 752

def links
    @properties['links']
end

#modeMode

Returns:

  • (Mode)


728
729
730
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 728

def mode
    @properties['mode']
end

#participantsparticipants

Access the participants

Returns:



801
802
803
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 801

def participants
    context.participants
end

#service_sidString

Returns The SID of the [Service](www.twilio.com/docs/proxy/api/service) the session is associated with.

Returns:



668
669
670
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 668

def service_sid
    @properties['service_sid']
end

#sidString

Returns The unique string that we created to identify the Session resource.

Returns:

  • (String)

    The unique string that we created to identify the Session resource.



662
663
664
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 662

def sid
    @properties['sid']
end

#statusStatus

Returns:

  • (Status)


710
711
712
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 710

def status
    @properties['status']
end

#to_sObject

Provide a user friendly representation



807
808
809
810
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 807

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

#ttlString

Returns The time, in seconds, when the session will expire. The time is measured from the last Session create or the Session’s last Interaction.

Returns:

  • (String)

    The time, in seconds, when the session will expire. The time is measured from the last Session create or the Session’s last Interaction.



722
723
724
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 722

def ttl
    @properties['ttl']
end

#unique_nameString

Returns An application-defined string that uniquely identifies the resource. This value must be 191 characters or fewer in length and be unique. Supports UTF-8 characters. **This value should not have PII.**.

Returns:

  • (String)

    An application-defined string that uniquely identifies the resource. This value must be 191 characters or fewer in length and be unique. Supports UTF-8 characters. **This value should not have PII.**



704
705
706
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 704

def unique_name
    @properties['unique_name']
end

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

Update the SessionInstance

Parameters:

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

    The [ISO 8601](en.wikipedia.org/wiki/ISO_8601) date when the Session should expire. If this is value is present, it overrides the ‘ttl` value.

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

    The time, in seconds, when the session will expire. The time is measured from the last Session create or the Session’s last Interaction.

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

Returns:



778
779
780
781
782
783
784
785
786
787
788
789
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 778

def update(
  date_expiry: :unset, 
  ttl: :unset, 
  status: :unset
)

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

#urlString

Returns The absolute URL of the Session resource.

Returns:

  • (String)

    The absolute URL of the Session resource.



746
747
748
# File 'lib/twilio-ruby/rest/proxy/v1/service/session.rb', line 746

def url
    @properties['url']
end