Class: Twilio::REST::Studio::V1::FlowContext::EngagementContext::EngagementContextInstance

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, flow_sid: nil, engagement_sid: nil) ⇒ EngagementContextInstance

Initialize the EngagementContextInstance

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

  • sid (String) —

    The SID of the Call resource to fetch.



213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
# File 'lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb', line 213

def initialize(version, payload , flow_sid: nil, engagement_sid: nil)
    super(version)
    
    
    # Marshaled Properties
    @properties = { 
        'account_sid' => payload['account_sid'],
        'context' => payload['context'],
        'engagement_sid' => payload['engagement_sid'],
        'flow_sid' => payload['flow_sid'],
        'url' => payload['url'],
    }

    # Context
    @instance_context = nil
    @params = { 'flow_sid' => flow_sid  || @properties['flow_sid']  ,'engagement_sid' => engagement_sid  || @properties['engagement_sid']  , }
end

Instance Method Details

#account_sid ⇒ String

Returns The SID of the Account.

Returns:

  • (String) —

    The SID of the Account.



244
245
246
# File 'lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb', line 244

def 
    @properties['account_sid']
end

#context ⇒ Hash

Returns As your flow executes, we save the state in what's called the Flow Context. Any data in the flow context can be accessed by your widgets as variables, either in configuration fields or in text areas as variable substitution.

Returns:

  • (Hash) —

    As your flow executes, we save the state in what's called the Flow Context. Any data in the flow context can be accessed by your widgets as variables, either in configuration fields or in text areas as variable substitution.



235
236
237
238
239
240
# File 'lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb', line 235

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

#engagement_sid ⇒ String

Returns The SID of the Engagement.

Returns:

  • (String) —

    The SID of the Engagement.



256
257
258
# File 'lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb', line 256

def engagement_sid
    @properties['engagement_sid']
end

#fetch ⇒ EngagementContextInstance

Fetch the EngagementContextInstance

Returns:



275
276
277
278
# File 'lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb', line 275

def fetch

    context.fetch
end

#flow_sid ⇒ String

Returns The SID of the Flow.

Returns:

  • (String) —

    The SID of the Flow.



262
263
264
# File 'lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb', line 262

def flow_sid
    @properties['flow_sid']
end

#inspect ⇒ Object

Provide a detailed, user friendly representation



289
290
291
292
# File 'lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb', line 289

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

#to_s ⇒ Object

Provide a user friendly representation



282
283
284
285
# File 'lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb', line 282

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

#url ⇒ String

Returns The URL of the resource.

Returns:

  • (String) —

    The URL of the resource.



268
269
270
# File 'lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb', line 268

def url
    @properties['url']
end