class Twilio::REST::Taskrouter::V1::WorkspaceList
Public Class Methods
Initialize the WorkspaceList
@param [Version] version Version
that contains the resource @return [WorkspaceList] WorkspaceList
Twilio::REST::ListResource::new
# File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb 18 def initialize(version) 19 super(version) 20 21 # Path Solution 22 @solution = {} 23 @uri = "/Workspaces" 24 end
Public Instance Methods
Create the WorkspaceInstance
@param [String] friendly_name A descriptive string that you create to describe
the Workspace resource. It can be up to 64 characters long. For example: `Customer Support` or `2014 Election Campaign`.
@param [String] event_callback_url The URL we should call when an event occurs.
If provided, the Workspace will publish events to this URL, for example, to collect data for reporting. See {Workspace Events}[https://www.twilio.com/docs/taskrouter/api/event] for more information.
@param [String] events_filter The list of Workspace events for which to call
event_callback_url. For example, if `EventsFilter=task.created, task.canceled, worker.activity.update`, then TaskRouter will call event_callback_url only when a task is created, canceled, or a Worker activity is updated.
@param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be:
`true` to enable multi-tasking, or `false` to disable it. However, all workspaces should be created as multi-tasking. The default is `true`. Multi-tasking allows Workers to handle multiple Tasks simultaneously. When enabled (`true`), each Worker can receive parallel reservations up to the per-channel maximums defined in the Workers section. In single-tasking mode (legacy mode), each Worker will only receive a new reservation when the previous task is completed. Learn more at {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
@param [String] template An available template name. Can be: `NONE` or `FIFO`
and the default is `NONE`. Pre-configures the Workspace with the Workflow and Activities specified in the template. `NONE` will create a Workspace with only a set of default activities. `FIFO` will configure TaskRouter with a set of default activities and a single TaskQueue for first-in, first-out distribution, which can be useful when you are getting started with TaskRouter.
@param [workspace.QueueOrder] prioritize_queue_order The type of TaskQueue to
prioritize when Workers are receiving Tasks from both types of TaskQueues. Can be: `LIFO` or `FIFO` and the default is `FIFO`. For more information, see {Queue Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
@return [WorkspaceInstance] Created WorkspaceInstance
# File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb 146 def create(friendly_name: nil, event_callback_url: :unset, events_filter: :unset, multi_task_enabled: :unset, template: :unset, prioritize_queue_order: :unset) 147 data = Twilio::Values.of({ 148 'FriendlyName' => friendly_name, 149 'EventCallbackUrl' => event_callback_url, 150 'EventsFilter' => events_filter, 151 'MultiTaskEnabled' => multi_task_enabled, 152 'Template' => template, 153 'PrioritizeQueueOrder' => prioritize_queue_order, 154 }) 155 156 payload = @version.create('POST', @uri, data: data) 157 158 WorkspaceInstance.new(@version, payload, ) 159 end
When passed a block, yields WorkspaceInstance
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.rb 68 def each 69 limits = @version.read_limits 70 71 page = self.page(page_size: limits[:page_size], ) 72 73 @version.stream(page, 74 limit: limits[:limit], 75 page_limit: limits[:page_limit]).each {|x| yield x} 76 end
Retrieve a single page of WorkspaceInstance
records from the API. Request
is executed immediately. @param [String] target_url API-generated URL for the requested results page @return [Page] Page
of WorkspaceInstance
# File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb 105 def get_page(target_url) 106 response = @version.domain.request( 107 'GET', 108 target_url 109 ) 110 WorkspacePage.new(@version, response, @solution) 111 end
Lists WorkspaceInstance
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 Workspace resources to
read. For example `Customer Support` or `2014 Election Campaign`.
@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.rb 39 def list(friendly_name: :unset, limit: nil, page_size: nil) 40 self.stream(friendly_name: friendly_name, limit: limit, page_size: page_size).entries 41 end
Retrieve a single page of WorkspaceInstance
records from the API. Request
is executed immediately. @param [String] friendly_name The `friendly_name` of the Workspace resources to
read. For example `Customer Support` or `2014 Election Campaign`.
@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 WorkspaceInstance
# File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb 87 def page(friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset) 88 params = Twilio::Values.of({ 89 'FriendlyName' => friendly_name, 90 'PageToken' => page_token, 91 'Page' => page_number, 92 'PageSize' => page_size, 93 }) 94 95 response = @version.page('GET', @uri, params: params) 96 97 WorkspacePage.new(@version, response, @solution) 98 end
Streams WorkspaceInstance
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 Workspace resources to
read. For example `Customer Support` or `2014 Election Campaign`.
@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.rb 56 def stream(friendly_name: :unset, limit: nil, page_size: nil) 57 limits = @version.read_limits(limit, page_size) 58 59 page = self.page(friendly_name: friendly_name, page_size: limits[:page_size], ) 60 61 @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit]) 62 end
Provide a user friendly representation
# File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb 163 def to_s 164 '#<Twilio.Taskrouter.V1.WorkspaceList>' 165 end