Class: Twilio::REST::Studio::V2::FlowContext::ExecutionInstance

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/studio/v2/flow/execution.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, flow_sid: nil, sid: nil) ⇒ ExecutionInstance

Initialize the ExecutionInstance

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 Execution resource.

  • sid (String) (defaults to: nil)

    The SID of the Call resource to fetch.



598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 598

def initialize(version, payload , flow_sid: nil, sid: nil)
    super(version)
    
    
    # Marshaled Properties
    @properties = { 
        'sid' => payload['sid'],
        'account_sid' => payload['account_sid'],
        'flow_sid' => payload['flow_sid'],
        'contact_channel_address' => payload['contact_channel_address'],
        'contact_sid' => payload['contact_sid'],
        'flow_version' => payload['flow_version'] == nil ? payload['flow_version'] : payload['flow_version'].to_i,
        'context' => payload['context'],
        'status' => payload['status'],
        'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
        'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
        'initiated_by' => payload['initiated_by'],
        'url' => payload['url'],
        'links' => payload['links'],
    }

    # Context
    @instance_context = nil
    @params = { 'flow_sid' => flow_sid  || @properties['flow_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 Execution resource.

Returns:



643
644
645
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 643

def 
    @properties['account_sid']
end

#contact_channel_addressString

Returns The phone number, SIP address or Client identifier that triggered the Execution. Phone numbers are in E.164 format (e.g. +16175551212). SIP addresses are formatted as ‘name@company.com`. Client identifiers are formatted `client:name`.

Returns:

  • (String)

    The phone number, SIP address or Client identifier that triggered the Execution. Phone numbers are in E.164 format (e.g. +16175551212). SIP addresses are formatted as ‘name@company.com`. Client identifiers are formatted `client:name`.



655
656
657
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 655

def contact_channel_address
    @properties['contact_channel_address']
end

#contact_sidString

Returns The SID of the Contact.

Returns:

  • (String)

    The SID of the Contact.



661
662
663
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 661

def contact_sid
    @properties['contact_sid']
end

#contextHash

Returns The current state of the Flow’s Execution. As a flow executes, we save its state in this context. We save data that your widgets can access as variables in configuration fields or in text areas as variable substitution.

Returns:

  • (Hash)

    The current state of the Flow’s Execution. As a flow executes, we save its state in this context. We save data that your widgets can access as variables in configuration fields or in text areas as variable substitution.



628
629
630
631
632
633
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 628

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

#date_createdTime

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

Returns:



685
686
687
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 685

def date_created
    @properties['date_created']
end

#date_updatedTime

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

Returns:



691
692
693
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 691

def date_updated
    @properties['date_updated']
end

#deleteBoolean

Delete the ExecutionInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



716
717
718
719
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 716

def delete

    context.delete
end

#execution_contextexecution_context

Access the execution_context

Returns:



745
746
747
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 745

def execution_context
    context.execution_context
end

#fetchExecutionInstance

Fetch the ExecutionInstance

Returns:



724
725
726
727
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 724

def fetch

    context.fetch
end

#flow_sidString

Returns The SID of the Flow.

Returns:

  • (String)

    The SID of the Flow.



649
650
651
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 649

def flow_sid
    @properties['flow_sid']
end

#flow_versionString

Returns The Flow version number at the time of Execution creation.

Returns:

  • (String)

    The Flow version number at the time of Execution creation.



667
668
669
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 667

def flow_version
    @properties['flow_version']
end

#initiated_byString

Returns The SID or identifier that triggered this Execution. For example, a Call SID if triggered by an incoming call, a Message SID if triggered by an incoming message, a Request SID if triggered by a REST API request, and so on.

Returns:

  • (String)

    The SID or identifier that triggered this Execution. For example, a Call SID if triggered by an incoming call, a Message SID if triggered by an incoming message, a Request SID if triggered by a REST API request, and so on.



697
698
699
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 697

def initiated_by
    @properties['initiated_by']
end

#inspectObject

Provide a detailed, user friendly representation



765
766
767
768
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 765

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

Returns The URLs of nested resources.

Returns:

  • (Hash)

    The URLs of nested resources.



709
710
711
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 709

def links
    @properties['links']
end

#sidString

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

Returns:

  • (String)

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



637
638
639
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 637

def sid
    @properties['sid']
end

#statusStatus

Returns:

  • (Status)


679
680
681
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 679

def status
    @properties['status']
end

#stepssteps

Access the steps

Returns:



752
753
754
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 752

def steps
    context.steps
end

#to_sObject

Provide a user friendly representation



758
759
760
761
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 758

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

#update(status: nil) ⇒ ExecutionInstance

Update the ExecutionInstance

Parameters:

  • status (Status) (defaults to: nil)

Returns:



733
734
735
736
737
738
739
740
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 733

def update(
    status: nil
)

    context.update(
        status: status, 
    )
end

#urlString

Returns The absolute URL of the resource.

Returns:

  • (String)

    The absolute URL of the resource.



703
704
705
# File 'lib/twilio-ruby/rest/studio/v2/flow/execution.rb', line 703

def url
    @properties['url']
end