class Twilio::REST::Taskrouter::V1::WorkspaceContext::TaskQueueList
Public Class Methods
Initialize the TaskQueueList
@param [Version] version Version
that contains the resource @param [String] workspace_sid The SID of the Workspace that contains the
TaskQueue.
@return [TaskQueueList] TaskQueueList
Twilio::REST::ListResource::new
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb 21 def initialize(version, workspace_sid: nil) 22 super(version) 23 24 # Path Solution 25 @solution = {workspace_sid: workspace_sid} 26 @uri = "/Workspaces/#{@solution[:workspace_sid]}/TaskQueues" 27 28 # Components 29 @statistics = nil 30 end
Public Instance Methods
Create the TaskQueueInstance
@param [String] friendly_name A descriptive string that you create to describe
the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
@param [String] target_workers A string that describes the Worker selection
criteria for any Tasks that enter the TaskQueue. For example, `'"language" == "spanish"'`. The default value is `1==1`. If this value is empty, Tasks will wait in the TaskQueue until they are deleted or moved to another TaskQueue. For more information about Worker selection, see {Describing Worker selection criteria}[https://www.twilio.com/docs/taskrouter/api/taskqueues#target-workers].
@param [String] max_reserved_workers The maximum number of Workers to reserve
for the assignment of a Task in the queue. Can be an integer between 1 and 50, inclusive and defaults to 1.
@param [task_queue.TaskOrder] task_order How Tasks will be assigned to Workers.
Set this parameter to `LIFO` to assign most recently created Task first or FIFO to assign the oldest Task first. Default is `FIFO`. {Click here}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo] to learn more.
@param [String] reservation_activity_sid The SID of the Activity to assign
Workers when a task is reserved for them.
@param [String] assignment_activity_sid The SID of the Activity to assign
Workers when a task is assigned to them.
@return [TaskQueueInstance] Created TaskQueueInstance
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb 170 def create(friendly_name: nil, target_workers: :unset, max_reserved_workers: :unset, task_order: :unset, reservation_activity_sid: :unset, assignment_activity_sid: :unset) 171 data = Twilio::Values.of({ 172 'FriendlyName' => friendly_name, 173 'TargetWorkers' => target_workers, 174 'MaxReservedWorkers' => max_reserved_workers, 175 'TaskOrder' => task_order, 176 'ReservationActivitySid' => reservation_activity_sid, 177 'AssignmentActivitySid' => assignment_activity_sid, 178 }) 179 180 payload = @version.create('POST', @uri, data: data) 181 182 TaskQueueInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid], ) 183 end
When passed a block, yields TaskQueueInstance
records from the API. This operation lazily loads records as efficiently as possible until the limit is reached.
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb 95 def each 96 limits = @version.read_limits 97 98 page = self.page(page_size: limits[:page_size], ) 99 100 @version.stream(page, 101 limit: limits[:limit], 102 page_limit: limits[:page_limit]).each {|x| yield x} 103 end
Retrieve a single page of TaskQueueInstance
records from the API. Request
is executed immediately. @param [String] target_url API-generated URL for the requested results page @return [Page] Page
of TaskQueueInstance
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb 139 def get_page(target_url) 140 response = @version.domain.request( 141 'GET', 142 target_url 143 ) 144 TaskQueuePage.new(@version, response, @solution) 145 end
Lists TaskQueueInstance
records from the API as a list. Unlike stream(), this operation is eager and will load `limit` records into memory before returning. @param [String] friendly_name The `friendly_name` of the TaskQueue resources to
read.
@param [String] evaluate_worker_attributes The attributes of the Workers to
read. Returns the TaskQueues with Workers that match the attributes specified in this parameter.
@param [String] worker_sid The SID of the Worker with the TaskQueue resources to
read.
@param [Integer] limit Upper limit for the number of records to return. stream()
guarantees to never return more than limit. Default is no limit
@param [Integer] page_size Number of records to fetch per request, when
not set will use the default value of 50 records. If no page_size is defined but a limit is defined, stream() will attempt to read the limit with the most efficient page size, i.e. min(limit, 1000)
@return [Array] Array of up to limit results
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb 50 def list(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, limit: nil, page_size: nil) 51 self.stream( 52 friendly_name: friendly_name, 53 evaluate_worker_attributes: evaluate_worker_attributes, 54 worker_sid: worker_sid, 55 limit: limit, 56 page_size: page_size 57 ).entries 58 end
Retrieve a single page of TaskQueueInstance
records from the API. Request
is executed immediately. @param [String] friendly_name The `friendly_name` of the TaskQueue resources to
read.
@param [String] evaluate_worker_attributes The attributes of the Workers to
read. Returns the TaskQueues with Workers that match the attributes specified in this parameter.
@param [String] worker_sid The SID of the Worker with the TaskQueue resources to
read.
@param [String] page_token PageToken provided by the API @param [Integer] page_number Page
Number, this value is simply for client state @param [Integer] page_size Number of records to return, defaults to 50 @return [Page] Page
of TaskQueueInstance
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb 119 def page(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, page_token: :unset, page_number: :unset, page_size: :unset) 120 params = Twilio::Values.of({ 121 'FriendlyName' => friendly_name, 122 'EvaluateWorkerAttributes' => evaluate_worker_attributes, 123 'WorkerSid' => worker_sid, 124 'PageToken' => page_token, 125 'Page' => page_number, 126 'PageSize' => page_size, 127 }) 128 129 response = @version.page('GET', @uri, params: params) 130 131 TaskQueuePage.new(@version, response, @solution) 132 end
Access the statistics @return [TaskQueuesStatisticsList] @return [TaskQueuesStatisticsContext]
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb 189 def statistics 190 @statistics ||= TaskQueuesStatisticsList.new(@version, workspace_sid: @solution[:workspace_sid], ) 191 end
Streams TaskQueueInstance
records from the API as an Enumerable. This operation lazily loads records as efficiently as possible until the limit is reached. @param [String] friendly_name The `friendly_name` of the TaskQueue resources to
read.
@param [String] evaluate_worker_attributes The attributes of the Workers to
read. Returns the TaskQueues with Workers that match the attributes specified in this parameter.
@param [String] worker_sid The SID of the Worker with the TaskQueue resources to
read.
@param [Integer] limit Upper limit for the number of records to return. stream()
guarantees to never return more than limit. Default is no limit.
@param [Integer] page_size Number of records to fetch per request, when
not set will use the default value of 50 records. If no page_size is defined but a limit is defined, stream() will attempt to read the limit with the most efficient page size, i.e. min(limit, 1000)
@return [Enumerable] Enumerable that will yield up to limit results
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb 78 def stream(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, limit: nil, page_size: nil) 79 limits = @version.read_limits(limit, page_size) 80 81 page = self.page( 82 friendly_name: friendly_name, 83 evaluate_worker_attributes: evaluate_worker_attributes, 84 worker_sid: worker_sid, 85 page_size: limits[:page_size], 86 ) 87 88 @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit]) 89 end
Provide a user friendly representation
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb 195 def to_s 196 '#<Twilio.Taskrouter.V1.TaskQueueList>' 197 end