Class: Twilio::REST::Conversations::V2::OperationInstance

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

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, id: nil) ⇒ OperationInstance

Initialize the OperationInstance

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

  • sid (String) —

    The SID of the Call resource to fetch.



210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
# File 'lib/twilio-ruby/rest/conversations/v2/operation.rb', line 210

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

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

Instance Method Details

#completed_at ⇒ Time

Returns Timestamp when the operation completed. Only present for completed or failed operations.

Returns:

  • (Time) —

    Timestamp when the operation completed. Only present for completed or failed operations.



262
263
264
# File 'lib/twilio-ruby/rest/conversations/v2/operation.rb', line 262

def completed_at
    @properties['completed_at']
end

#context ⇒ OperationContext

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

Returns:



235
236
237
238
239
240
# File 'lib/twilio-ruby/rest/conversations/v2/operation.rb', line 235

def context
    unless @instance_context
        @instance_context = OperationContext.new(@version , @params['id'])
    end
    @instance_context
end

#created_at ⇒ Time

Returns Timestamp when the operation was created.

Returns:

  • (Time) —

    Timestamp when the operation was created.



256
257
258
# File 'lib/twilio-ruby/rest/conversations/v2/operation.rb', line 256

def created_at
    @properties['created_at']
end

#error ⇒ FetchOperationStatus200ResponseError

Returns:

  • (FetchOperationStatus200ResponseError)


274
275
276
# File 'lib/twilio-ruby/rest/conversations/v2/operation.rb', line 274

def error
    @properties['error']
end

#fetch ⇒ OperationInstance

Fetch the OperationInstance

Returns:



287
288
289
290
# File 'lib/twilio-ruby/rest/conversations/v2/operation.rb', line 287

def fetch

    context.fetch
end

#inspect ⇒ Object

Provide a detailed, user friendly representation



301
302
303
304
# File 'lib/twilio-ruby/rest/conversations/v2/operation.rb', line 301

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

#operation_id ⇒ String

Returns Unique identifier for the long-running operation.

Returns:

  • (String) —

    Unique identifier for the long-running operation.



244
245
246
# File 'lib/twilio-ruby/rest/conversations/v2/operation.rb', line 244

def operation_id
    @properties['operation_id']
end

Returns Named resource identifiers associated with this operation. Keys depend on the operation type: - config-create, config-update, config-delete: configurationId - conversation-delete: conversationId.

Returns:

  • (Hash<String, String>) —

    Named resource identifiers associated with this operation. Keys depend on the operation type: - config-create, config-update, config-delete: configurationId - conversation-delete: conversationId



280
281
282
# File 'lib/twilio-ruby/rest/conversations/v2/operation.rb', line 280

def related
    @properties['related']
end

#status ⇒ ConversationsV2OperationStatusValue

Returns:

  • (ConversationsV2OperationStatusValue)


250
251
252
# File 'lib/twilio-ruby/rest/conversations/v2/operation.rb', line 250

def status
    @properties['status']
end

#status_url ⇒ String

Returns URL to poll for operation status.

Returns:

  • (String) —

    URL to poll for operation status.



268
269
270
# File 'lib/twilio-ruby/rest/conversations/v2/operation.rb', line 268

def status_url
    @properties['status_url']
end

#to_s ⇒ Object

Provide a user friendly representation



294
295
296
297
# File 'lib/twilio-ruby/rest/conversations/v2/operation.rb', line 294

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