Class: Twilio::REST::Conversations::V2::ActionInstance

Inherits:
InstanceResource show all
Defined in:
lib/twilio-ruby/rest/conversations/v2/action.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, conversation_id: nil, action_id: nil) ⇒ ActionInstance

Initialize the ActionInstance

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

  • sid (String) —

    The SID of the Call resource to fetch.



341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
# File 'lib/twilio-ruby/rest/conversations/v2/action.rb', line 341

def initialize(version, payload , conversation_id: nil, action_id: nil)
    
    apiV1Version = ApiV1Version.new version.domain, version
    super(apiV1Version)
    
    # Marshaled Properties
    @properties = { 
        'id' => payload['id'],
        'type' => payload['type'],
        'status' => payload['status'],
        'conversation_id' => payload['conversation_id'],
        'related' => payload['related'],
        'created_at' => Twilio.deserialize_iso8601_datetime(payload['created_at']),
        'updated_at' => Twilio.deserialize_iso8601_datetime(payload['updated_at']),
        'completed_at' => Twilio.deserialize_iso8601_datetime(payload['completed_at']),
    }

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

Instance Method Details

#completed_at ⇒ Time

Returns Timestamp when the action reached a terminal status.

Returns:

  • (Time) —

    Timestamp when the action reached a terminal status.



418
419
420
# File 'lib/twilio-ruby/rest/conversations/v2/action.rb', line 418

def completed_at
    @properties['completed_at']
end

#context ⇒ ActionContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



367
368
369
370
371
372
# File 'lib/twilio-ruby/rest/conversations/v2/action.rb', line 367

def context
    unless @instance_context
        @instance_context = ActionContext.new(@version , @params['conversation_id'], @params['action_id'])
    end
    @instance_context
end

#conversation_id ⇒ String

Returns The conversation this action belongs to.

Returns:

  • (String) —

    The conversation this action belongs to.



394
395
396
# File 'lib/twilio-ruby/rest/conversations/v2/action.rb', line 394

def conversation_id
    @properties['conversation_id']
end

#created_at ⇒ Time

Returns Timestamp when the action was created.

Returns:

  • (Time) —

    Timestamp when the action was created.



406
407
408
# File 'lib/twilio-ruby/rest/conversations/v2/action.rb', line 406

def created_at
    @properties['created_at']
end

#fetch ⇒ ActionInstance

Fetch the ActionInstance

Returns:



425
426
427
428
# File 'lib/twilio-ruby/rest/conversations/v2/action.rb', line 425

def fetch

    context.fetch
end

#id ⇒ String

Returns Unique identifier for this Action.

Returns:

  • (String) —

    Unique identifier for this Action.



376
377
378
# File 'lib/twilio-ruby/rest/conversations/v2/action.rb', line 376

def id
    @properties['id']
end

#inspect ⇒ Object

Provide a detailed, user friendly representation



439
440
441
442
# File 'lib/twilio-ruby/rest/conversations/v2/action.rb', line 439

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

Returns Named identifiers from downstream. For SEND_MESSAGE: - messageSid: The downstream message SID (present when PENDING or COMPLETED) - communicationId: The Communication ID (present when COMPLETED).

Returns:

  • (Hash<String, String>) —

    Named identifiers from downstream. For SEND_MESSAGE: - messageSid: The downstream message SID (present when PENDING or COMPLETED) - communicationId: The Communication ID (present when COMPLETED)



400
401
402
# File 'lib/twilio-ruby/rest/conversations/v2/action.rb', line 400

def related
    @properties['related']
end

#status ⇒ ConversationsV2ActionStatus

Returns:

  • (ConversationsV2ActionStatus)


388
389
390
# File 'lib/twilio-ruby/rest/conversations/v2/action.rb', line 388

def status
    @properties['status']
end

#to_s ⇒ Object

Provide a user friendly representation



432
433
434
435
# File 'lib/twilio-ruby/rest/conversations/v2/action.rb', line 432

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

#type ⇒ String

Returns The type of action. Accepted values: SEND_MESSAGE.

Returns:

  • (String) —

    The type of action. Accepted values: SEND_MESSAGE.



382
383
384
# File 'lib/twilio-ruby/rest/conversations/v2/action.rb', line 382

def type
    @properties['type']
end

#updated_at ⇒ Time

Returns Timestamp when the action was last updated.

Returns:

  • (Time) —

    Timestamp when the action was last updated.



412
413
414
# File 'lib/twilio-ruby/rest/conversations/v2/action.rb', line 412

def updated_at
    @properties['updated_at']
end