Class: Twilio::REST::Taskrouter::V1::WorkspaceContext::TaskContext

Inherits:
InstanceContext
  • Object
show all
Defined in:
lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb

Defined Under Namespace

Classes: ReservationContext, ReservationInstance, ReservationList, ReservationPage

Instance Method Summary collapse

Constructor Details

#initialize(version, workspace_sid, sid) ⇒ TaskContext

Initialize the TaskContext



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

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

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

    # Dependents
    @reservations = nil
end

Instance Method Details

#delete(if_match: :unset) ⇒ Boolean

Delete the TaskInstance



239
240
241
242
243
244
245
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 239

def delete(
    if_match: :unset
)

    headers = Twilio::Values.of({ 'If-Match' => if_match, })
    @version.delete('DELETE', @uri, headers: headers)
end

#fetchTaskInstance

Fetch the TaskInstance



250
251
252
253
254
255
256
257
258
259
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 250

def fetch

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

#inspectObject

Provide a detailed, user friendly representation



329
330
331
332
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 329

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

#reservations(sid = :unset) ⇒ ReservationList, ReservationContext

Access the reservations

Raises:

  • (ArgumentError)


304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 304

def reservations(sid=:unset)

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

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

    unless @reservations
        @reservations = ReservationList.new(
            @version, workspace_sid: @solution[:workspace_sid], task_sid: @solution[:sid], )
    end

 @reservations
end

#to_sObject

Provide a user friendly representation



322
323
324
325
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 322

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

#update(attributes: :unset, assignment_status: :unset, reason: :unset, priority: :unset, task_channel: :unset, virtual_start_time: :unset, if_match: :unset) ⇒ TaskInstance

Update the TaskInstance



271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 271

def update(
    attributes: :unset, 
    assignment_status: :unset, 
    reason: :unset, 
    priority: :unset, 
    task_channel: :unset, 
    virtual_start_time: :unset, 
    if_match: :unset
)

    data = Twilio::Values.of({
        'Attributes' => attributes,
        'AssignmentStatus' => assignment_status,
        'Reason' => reason,
        'Priority' => priority,
        'TaskChannel' => task_channel,
        'VirtualStartTime' => Twilio.serialize_iso8601_datetime(virtual_start_time),
    })

    headers = Twilio::Values.of({ 'If-Match' => if_match, })
    payload = @version.update('POST', @uri, data: data, headers: headers)
    TaskInstance.new(
        @version,
        payload,
        workspace_sid: @solution[:workspace_sid],
        sid: @solution[:sid],
    )
end