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 that is the parent of the resource to fetch.

  • sid (String)

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



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

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
  @fields = nil
  @samples = nil
  @task_actions = nil
  @statistics = nil
end

Instance Method Details

#deleteBoolean

Delete the TaskInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise



240
241
242
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 240

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

#fetchTaskInstance

Fetch the TaskInstance

Returns:



205
206
207
208
209
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 205

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)


248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 248

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



313
314
315
316
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 313

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)


270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 270

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



300
301
302
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 300

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

#task_actionsTaskActionsList, TaskActionsContext

Access the task_actions



292
293
294
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 292

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

#to_sObject

Provide a user friendly representation



306
307
308
309
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 306

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 (Hash) (defaults to: :unset)

    The JSON string that specifies the 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:



224
225
226
227
228
229
230
231
232
233
234
235
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb', line 224

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