class Twilio::REST::Taskrouter::V1::WorkspaceContext
Public Class Methods
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
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
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
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 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
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 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
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
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
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
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
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
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
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 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
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
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