Class: Twilio::REST::Taskrouter::V1::WorkspaceContext::TaskQueueContext

Inherits:
InstanceContext
  • Object
show all
Defined in:
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb

Defined Under Namespace

Classes: TaskQueueCumulativeStatisticsContext, TaskQueueCumulativeStatisticsInstance, TaskQueueCumulativeStatisticsList, TaskQueueCumulativeStatisticsPage, TaskQueueRealTimeStatisticsContext, TaskQueueRealTimeStatisticsInstance, TaskQueueRealTimeStatisticsList, TaskQueueRealTimeStatisticsPage, TaskQueueStatisticsContext, TaskQueueStatisticsInstance, TaskQueueStatisticsList, TaskQueueStatisticsPage

Instance Method Summary collapse

Constructor Details

#initialize(version, workspace_sid, sid) ⇒ TaskQueueContext

Initialize the TaskQueueContext

Parameters:

  • version (Version)

    Version that contains the resource

  • workspace_sid (String)

    The SID of the Workspace with the TaskQueue to fetch.

  • sid (String)

    The SID of the TaskQueue resource to fetch.



244
245
246
247
248
249
250
251
252
253
254
255
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 244

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

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

  # Dependents
  @statistics = nil
  @real_time_statistics = nil
  @cumulative_statistics = nil
end

Instance Method Details

#cumulative_statisticsTaskQueueCumulativeStatisticsList, TaskQueueCumulativeStatisticsContext

Access the cumulative_statistics



349
350
351
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 349

def cumulative_statistics
  TaskQueueCumulativeStatisticsContext.new(@version, @solution[:workspace_sid], @solution[:sid], )
end

#deleteBoolean

Deletes the TaskQueueInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise



325
326
327
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 325

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

#fetchTaskQueueInstance

Fetch a TaskQueueInstance

Returns:



260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 260

def fetch
  params = Twilio::Values.of({})

  payload = @version.fetch(
      'GET',
      @uri,
      params,
  )

  TaskQueueInstance.new(
      @version,
      payload,
      workspace_sid: @solution[:workspace_sid],
      sid: @solution[:sid],
  )
end

#inspectObject

Provide a detailed, user friendly representation



362
363
364
365
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 362

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

#real_time_statisticsTaskQueueRealTimeStatisticsList, TaskQueueRealTimeStatisticsContext

Access the real_time_statistics



341
342
343
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 341

def real_time_statistics
  TaskQueueRealTimeStatisticsContext.new(@version, @solution[:workspace_sid], @solution[:sid], )
end

#statisticsTaskQueueStatisticsList, TaskQueueStatisticsContext

Access the statistics



333
334
335
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 333

def statistics
  TaskQueueStatisticsContext.new(@version, @solution[:workspace_sid], @solution[:sid], )
end

#to_sObject

Provide a user friendly representation



355
356
357
358
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 355

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

#update(friendly_name: :unset, target_workers: :unset, reservation_activity_sid: :unset, assignment_activity_sid: :unset, max_reserved_workers: :unset, task_order: :unset) ⇒ TaskQueueInstance

Update the TaskQueueInstance

Parameters:

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

    A descriptive string that you create to describe the TaskQueue. For example ‘Support-Tier 1`, `Sales`, or `Escalation`.

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

    A string describing the Worker selection criteria for any Tasks that enter the TaskQueue. For example ‘“language” == “spanish”’ If no TargetWorkers parameter is provided, Tasks will wait in the queue until they are either deleted or moved to another queue. Additional examples on how to describing Worker selection criteria below.

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

    The SID of the Activity to assign Workers when a task is reserved for them.

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

    The SID of the Activity to assign Workers when a task is assigned for them.

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

    The maximum number of Workers to create reservations for the assignment of a task while in the queue. Maximum of 50.

  • task_order (task_queue.TaskOrder) (defaults to: :unset)

    How Tasks will be assigned to Workers. Can be: ‘FIFO` or `LIFO` and the default is `FIFO`. Use `FIFO` to assign the oldest task first and `LIFO` to assign the most recent task first. For more information, see [Queue Ordering](www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo).

Returns:



298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 298

def update(friendly_name: :unset, target_workers: :unset, reservation_activity_sid: :unset, assignment_activity_sid: :unset, max_reserved_workers: :unset, task_order: :unset)
  data = Twilio::Values.of({
      'FriendlyName' => friendly_name,
      'TargetWorkers' => target_workers,
      'ReservationActivitySid' => reservation_activity_sid,
      'AssignmentActivitySid' => assignment_activity_sid,
      'MaxReservedWorkers' => max_reserved_workers,
      'TaskOrder' => task_order,
  })

  payload = @version.update(
      'POST',
      @uri,
      data: data,
  )

  TaskQueueInstance.new(
      @version,
      payload,
      workspace_sid: @solution[:workspace_sid],
      sid: @solution[:sid],
  )
end