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.



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

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



338
339
340
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 338

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

#deleteBoolean

Delete the TaskQueueInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise



314
315
316
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 314

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

#fetchTaskQueueInstance

Fetch the TaskQueueInstance

Returns:



259
260
261
262
263
264
265
266
267
268
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 259

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

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

#inspectObject

Provide a detailed, user friendly representation



351
352
353
354
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 351

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



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

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

#statisticsTaskQueueStatisticsList, TaskQueueStatisticsContext

Access the statistics



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

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

#to_sObject

Provide a user friendly representation



344
345
346
347
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 344

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.

Returns:



291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb', line 291

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