Class: Twilio::REST::Autopilot::V1::AssistantContext::TaskContext

Inherits:
InstanceContext
  • Object
show all
Defined in:
lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb

Overview

PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact [email protected].

Defined Under Namespace

Classes: FieldContext, FieldInstance, FieldList, FieldPage, SampleContext, SampleInstance, SampleList, SamplePage, TaskActionsContext, TaskActionsInstance, TaskActionsList, TaskActionsPage, TaskStatisticsContext, TaskStatisticsInstance, TaskStatisticsList, TaskStatisticsPage

Instance Method Summary collapse

Constructor Details

#initialize(version, assistant_sid, sid) ⇒ TaskContext

Initialize the TaskContext

Parameters:

  • version (Version)

    Version that contains the resource

  • assistant_sid (String)

    The SID of the [Assistant](www.twilio.com/docs/autopilot/api/assistant) that is the parent of the resource to update.

  • sid (String)

    The Twilio-provided string that uniquely identifies the Task resource to update.



167
168
169
170
171
172
173
174
175
176
177
178
179
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 167

def initialize(version, assistant_sid, sid)
    super(version)

    # Path Solution
    @solution = { assistant_sid: assistant_sid, sid: sid,  }
    @uri = "/Assistants/#{@solution[:assistant_sid]}/Tasks/#{@solution[:sid]}"

    # Dependents
    @samples = nil
    @task_actions = nil
    @statistics = nil
    @fields = nil
end

Instance Method Details

#deleteBoolean

Delete the TaskInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



183
184
185
186
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 183

def delete

    @version.delete('DELETE', @uri)
end

#fetchTaskInstance

Fetch the TaskInstance

Returns:



191
192
193
194
195
196
197
198
199
200
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 191

def fetch

    payload = @version.fetch('GET', @uri)
    TaskInstance.new(
        @version,
        payload,
        assistant_sid: @solution[:assistant_sid],
        sid: @solution[:sid],
    )
end

#fields(sid = :unset) ⇒ FieldList, FieldContext

Access the fields

Returns:

Raises:

  • (ArgumentError)


277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 277

def fields(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return FieldContext.new(@version, @solution[:assistant_sid], @solution[:sid],sid )
    end

    unless @fields
        @fields = FieldList.new(
            @version, assistant_sid: @solution[:assistant_sid],  task_sid: @solution[:sid],  )
    end

 @fields
end

#inspectObject

Provide a detailed, user friendly representation



302
303
304
305
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 302

def inspect
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Autopilot.V1.TaskContext #{context}>"
end

#samples(sid = :unset) ⇒ SampleList, SampleContext

Access the samples

Returns:

Raises:

  • (ArgumentError)


236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 236

def samples(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return SampleContext.new(@version, @solution[:assistant_sid], @solution[:sid],sid )
    end

    unless @samples
        @samples = SampleList.new(
            @version, assistant_sid: @solution[:assistant_sid],  task_sid: @solution[:sid],  )
    end

 @samples
end

#statisticsTaskStatisticsList, TaskStatisticsContext

Access the statistics



266
267
268
269
270
271
272
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 266

def statistics
    TaskStatisticsContext.new(
            @version,
            @solution[:assistant_sid],
            @solution[:sid]
            )
end

#task_actionsTaskActionsList, TaskActionsContext

Access the task_actions



255
256
257
258
259
260
261
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 255

def task_actions
    TaskActionsContext.new(
            @version,
            @solution[:assistant_sid],
            @solution[:sid]
            )
end

#to_sObject

Provide a user friendly representation



295
296
297
298
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 295

def to_s
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Autopilot.V1.TaskContext #{context}>"
end

#update(friendly_name: :unset, unique_name: :unset, actions: :unset, actions_url: :unset) ⇒ TaskInstance

Update the TaskInstance

Parameters:

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

    A descriptive string that you create to describe the resource. It is not unique and can be up to 255 characters long.

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

    An application-defined string that uniquely identifies the resource. This value must be 64 characters or less in length and be unique. It can be used as an alternative to the sid in the URL path to address the resource.

  • actions (Object) (defaults to: :unset)

    The JSON string that specifies the [actions](www.twilio.com/docs/autopilot/actions) that instruct the Assistant on how to perform the task.

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

    The URL from which the Assistant can fetch actions.

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 209

def update(
    friendly_name: :unset, 
    unique_name: :unset, 
    actions: :unset, 
    actions_url: :unset
)

    data = Twilio::Values.of({
        'FriendlyName' => friendly_name,
        'UniqueName' => unique_name,
        'Actions' => Twilio.serialize_object(actions),
        'ActionsUrl' => actions_url,
    })

    payload = @version.update('POST', @uri, data: data)
    TaskInstance.new(
        @version,
        payload,
        assistant_sid: @solution[:assistant_sid],
        sid: @solution[:sid],
    )
end