class Twilio::REST::Taskrouter::V1::WorkspaceContext

Public Class Methods

new(version, sid) click to toggle source

Initialize the WorkspaceContext @param [Version] version Version that contains the resource @param [String] sid The SID of the Workspace resource to fetch. @return [WorkspaceContext] WorkspaceContext

Calls superclass method Twilio::REST::InstanceContext::new
    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
203 def initialize(version, sid)
204   super(version)
205 
206   # Path Solution
207   @solution = {sid: sid, }
208   @uri = "/Workspaces/#{@solution[:sid]}"
209 
210   # Dependents
211   @activities = nil
212   @events = nil
213   @tasks = nil
214   @task_queues = nil
215   @workers = nil
216   @workflows = nil
217   @statistics = nil
218   @real_time_statistics = nil
219   @cumulative_statistics = nil
220   @task_channels = nil
221 end

Public Instance Methods

activities(sid=:unset) click to toggle source

Access the activities @return [ActivityList] @return [ActivityContext] if sid was passed.

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
292 def activities(sid=:unset)
293   raise ArgumentError, 'sid cannot be nil' if sid.nil?
294 
295   if sid != :unset
296     return ActivityContext.new(@version, @solution[:sid], sid, )
297   end
298 
299   unless @activities
300     @activities = ActivityList.new(@version, workspace_sid: @solution[:sid], )
301   end
302 
303   @activities
304 end
cumulative_statistics() click to toggle source

Access the cumulative_statistics @return [WorkspaceCumulativeStatisticsList] @return [WorkspaceCumulativeStatisticsContext]

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
416 def cumulative_statistics
417   WorkspaceCumulativeStatisticsContext.new(@version, @solution[:sid], )
418 end
delete() click to toggle source

Delete the WorkspaceInstance @return [Boolean] true if delete succeeds, false otherwise

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
284 def delete
285    @version.delete('DELETE', @uri)
286 end
events(sid=:unset) click to toggle source

Access the events @return [EventList] @return [EventContext] if sid was passed.

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
310 def events(sid=:unset)
311   raise ArgumentError, 'sid cannot be nil' if sid.nil?
312 
313   if sid != :unset
314     return EventContext.new(@version, @solution[:sid], sid, )
315   end
316 
317   unless @events
318     @events = EventList.new(@version, workspace_sid: @solution[:sid], )
319   end
320 
321   @events
322 end
fetch() click to toggle source

Fetch the WorkspaceInstance @return [WorkspaceInstance] Fetched WorkspaceInstance

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
226 def fetch
227   payload = @version.fetch('GET', @uri)
228 
229   WorkspaceInstance.new(@version, payload, sid: @solution[:sid], )
230 end
inspect() click to toggle source

Provide a detailed, user friendly representation

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
447 def inspect
448   context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
449   "#<Twilio.Taskrouter.V1.WorkspaceContext #{context}>"
450 end
real_time_statistics() click to toggle source

Access the real_time_statistics @return [WorkspaceRealTimeStatisticsList] @return [WorkspaceRealTimeStatisticsContext]

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
408 def real_time_statistics
409   WorkspaceRealTimeStatisticsContext.new(@version, @solution[:sid], )
410 end
statistics() click to toggle source

Access the statistics @return [WorkspaceStatisticsList] @return [WorkspaceStatisticsContext]

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
400 def statistics
401   WorkspaceStatisticsContext.new(@version, @solution[:sid], )
402 end
task_channels(sid=:unset) click to toggle source

Access the task_channels @return [TaskChannelList] @return [TaskChannelContext] if sid was passed.

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
424 def task_channels(sid=:unset)
425   raise ArgumentError, 'sid cannot be nil' if sid.nil?
426 
427   if sid != :unset
428     return TaskChannelContext.new(@version, @solution[:sid], sid, )
429   end
430 
431   unless @task_channels
432     @task_channels = TaskChannelList.new(@version, workspace_sid: @solution[:sid], )
433   end
434 
435   @task_channels
436 end
task_queues(sid=:unset) click to toggle source

Access the task_queues @return [TaskQueueList] @return [TaskQueueContext] if sid was passed.

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
346 def task_queues(sid=:unset)
347   raise ArgumentError, 'sid cannot be nil' if sid.nil?
348 
349   if sid != :unset
350     return TaskQueueContext.new(@version, @solution[:sid], sid, )
351   end
352 
353   unless @task_queues
354     @task_queues = TaskQueueList.new(@version, workspace_sid: @solution[:sid], )
355   end
356 
357   @task_queues
358 end
tasks(sid=:unset) click to toggle source

Access the tasks @return [TaskList] @return [TaskContext] if sid was passed.

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
328 def tasks(sid=:unset)
329   raise ArgumentError, 'sid cannot be nil' if sid.nil?
330 
331   if sid != :unset
332     return TaskContext.new(@version, @solution[:sid], sid, )
333   end
334 
335   unless @tasks
336     @tasks = TaskList.new(@version, workspace_sid: @solution[:sid], )
337   end
338 
339   @tasks
340 end
to_s() click to toggle source

Provide a user friendly representation

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
440 def to_s
441   context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
442   "#<Twilio.Taskrouter.V1.WorkspaceContext #{context}>"
443 end
update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset) click to toggle source

Update the WorkspaceInstance @param [String] default_activity_sid The SID of the Activity that will be used

when new Workers are created in the Workspace.

@param [String] event_callback_url The URL we should call when an event occurs.

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 [String] friendly_name A descriptive string that you create to describe

the Workspace resource. For example: `Sales Call Center` or `Customer Support
Team`.

@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 maintained as multi-tasking. There is no default when
omitting this parameter. A multi-tasking Workspace can't be updated to
single-tasking unless it is not a Flex Project and another (legacy)
single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple
Tasks simultaneously. In multi-tasking mode, 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] timeout_activity_sid The SID of the Activity that will be

assigned to a Worker when a Task reservation times out without a response.

@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`. For more information, see {Queue
Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].

@return [WorkspaceInstance] Updated WorkspaceInstance

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
265 def update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset)
266   data = Twilio::Values.of({
267       'DefaultActivitySid' => default_activity_sid,
268       'EventCallbackUrl' => event_callback_url,
269       'EventsFilter' => events_filter,
270       'FriendlyName' => friendly_name,
271       'MultiTaskEnabled' => multi_task_enabled,
272       'TimeoutActivitySid' => timeout_activity_sid,
273       'PrioritizeQueueOrder' => prioritize_queue_order,
274   })
275 
276   payload = @version.update('POST', @uri, data: data)
277 
278   WorkspaceInstance.new(@version, payload, sid: @solution[:sid], )
279 end
workers(sid=:unset) click to toggle source

Access the workers @return [WorkerList] @return [WorkerContext] if sid was passed.

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
364 def workers(sid=:unset)
365   raise ArgumentError, 'sid cannot be nil' if sid.nil?
366 
367   if sid != :unset
368     return WorkerContext.new(@version, @solution[:sid], sid, )
369   end
370 
371   unless @workers
372     @workers = WorkerList.new(@version, workspace_sid: @solution[:sid], )
373   end
374 
375   @workers
376 end
workflows(sid=:unset) click to toggle source

Access the workflows @return [WorkflowList] @return [WorkflowContext] if sid was passed.

    # File lib/twilio-ruby/rest/taskrouter/v1/workspace.rb
382 def workflows(sid=:unset)
383   raise ArgumentError, 'sid cannot be nil' if sid.nil?
384 
385   if sid != :unset
386     return WorkflowContext.new(@version, @solution[:sid], sid, )
387   end
388 
389   unless @workflows
390     @workflows = WorkflowList.new(@version, workspace_sid: @solution[:sid], )
391   end
392 
393   @workflows
394 end