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.



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

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



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

def delete

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

#fetchTaskInstance

Fetch the TaskInstance

Returns:



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

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)


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

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



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

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)


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

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



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

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

#task_actionsTaskActionsList, TaskActionsContext

Access the task_actions



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

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

#to_sObject

Provide a user friendly representation



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

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:



208
209
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/autopilot/v1/assistant/task.rb', line 208

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