Class: Twilio::REST::Taskrouter::V1::WorkspaceContext

Inherits:
InstanceContext show all
Defined in:
lib/twilio-ruby/rest/taskrouter/v1/workspace.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_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: ActivityContext, ActivityInstance, ActivityList, ActivityPage, EventContext, EventInstance, EventList, EventPage, TaskChannelContext, TaskChannelInstance, TaskChannelList, TaskChannelPage, TaskContext, TaskInstance, TaskList, TaskPage, TaskQueueContext, TaskQueueInstance, TaskQueueList, TaskQueuePage, WorkerContext, WorkerInstance, WorkerList, WorkerPage, WorkflowContext, WorkflowInstance, WorkflowList, WorkflowPage, WorkspaceCumulativeStatisticsContext, WorkspaceCumulativeStatisticsInstance, WorkspaceCumulativeStatisticsList, WorkspaceCumulativeStatisticsPage, WorkspaceRealTimeStatisticsContext, WorkspaceRealTimeStatisticsInstance, WorkspaceRealTimeStatisticsList, WorkspaceRealTimeStatisticsPage, WorkspaceStatisticsContext, WorkspaceStatisticsInstance, WorkspaceStatisticsList, WorkspaceStatisticsPage

Instance Method Summary collapse

Constructor Details

#initialize(version, sid) ⇒ WorkspaceContext

Initialize the WorkspaceContext

Parameters:

  • version (Version)

    Version that contains the resource

  • sid (String)

    The SID of the Workspace resource to update.



172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 172

def initialize(version, sid)
    super(version)

    # Path Solution
    @solution = { sid: sid,  }
    @uri = "/Workspaces/#{@solution[:sid]}"

    # Dependents
    @cumulative_statistics = nil
    @task_queues = nil
    @activities = nil
    @real_time_statistics = nil
    @tasks = nil
    @workflows = nil
    @events = nil
    @workers = nil
    @statistics = nil
    @task_channels = nil
end

Instance Method Details

#activities(sid = :unset) ⇒ ActivityList, ActivityContext

Access the activities

Returns:

Raises:

  • (ArgumentError)


283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 283

def activities(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return ActivityContext.new(@version, @solution[:sid],sid )
    end

    unless @activities
        @activities = ActivityList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @activities
end

#cumulative_statisticsWorkspaceCumulativeStatisticsList, WorkspaceCumulativeStatisticsContext

Access the cumulative_statistics



254
255
256
257
258
259
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 254

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

#deleteBoolean

Delete the WorkspaceInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



194
195
196
197
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 194

def delete

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

#events(sid = :unset) ⇒ EventList, EventContext

Access the events

Returns:

Raises:

  • (ArgumentError)


350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 350

def events(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return EventContext.new(@version, @solution[:sid],sid )
    end

    unless @events
        @events = EventList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @events
end

#fetchWorkspaceInstance

Fetch the WorkspaceInstance

Returns:



202
203
204
205
206
207
208
209
210
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 202

def fetch

    payload = @version.fetch('GET', @uri)
    WorkspaceInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end

#inspectObject

Provide a detailed, user friendly representation



423
424
425
426
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 423

def inspect
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Taskrouter.V1.WorkspaceContext #{context}>"
end

#real_time_statisticsWorkspaceRealTimeStatisticsList, WorkspaceRealTimeStatisticsContext

Access the real_time_statistics



302
303
304
305
306
307
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 302

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

#statisticsWorkspaceStatisticsList, WorkspaceStatisticsContext

Access the statistics



388
389
390
391
392
393
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 388

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

#task_channels(sid = :unset) ⇒ TaskChannelList, TaskChannelContext

Access the task_channels

Returns:

Raises:

  • (ArgumentError)


398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 398

def task_channels(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return TaskChannelContext.new(@version, @solution[:sid],sid )
    end

    unless @task_channels
        @task_channels = TaskChannelList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @task_channels
end

#task_queues(sid = :unset) ⇒ TaskQueueList, TaskQueueContext

Access the task_queues

Returns:

Raises:

  • (ArgumentError)


264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 264

def task_queues(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return TaskQueueContext.new(@version, @solution[:sid],sid )
    end

    unless @task_queues
        @task_queues = TaskQueueList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @task_queues
end

#tasks(sid = :unset) ⇒ TaskList, TaskContext

Access the tasks

Returns:

Raises:

  • (ArgumentError)


312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 312

def tasks(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return TaskContext.new(@version, @solution[:sid],sid )
    end

    unless @tasks
        @tasks = TaskList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @tasks
end

#to_sObject

Provide a user friendly representation



416
417
418
419
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 416

def to_s
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Taskrouter.V1.WorkspaceContext #{context}>"
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) ⇒ WorkspaceInstance

Update the WorkspaceInstance

Parameters:

  • default_activity_sid (String) (defaults to: :unset)

    The SID of the Activity that will be used when new Workers are created in the Workspace.

  • event_callback_url (String) (defaults to: :unset)

    The URL we should call when an event occurs. See [Workspace Events](www.twilio.com/docs/taskrouter/api/event) for more information. This parameter supports Twilio’s [Webhooks (HTTP callbacks) Connection Overrides](www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides).

  • events_filter (String) (defaults to: :unset)

    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.

  • friendly_name (String) (defaults to: :unset)

    A descriptive string that you create to describe the Workspace resource. For example: ‘Sales Call Center` or `Customer Support Team`.

  • multi_task_enabled (Boolean) (defaults to: :unset)

    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](www.twilio.com/docs/taskrouter/multitasking).

  • timeout_activity_sid (String) (defaults to: :unset)

    The SID of the Activity that will be assigned to a Worker when a Task reservation times out without a response.

  • prioritize_queue_order (QueueOrder) (defaults to: :unset)

Returns:



222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 222

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
)

    data = Twilio::Values.of({
        'DefaultActivitySid' => default_activity_sid,
        'EventCallbackUrl' => event_callback_url,
        'EventsFilter' => events_filter,
        'FriendlyName' => friendly_name,
        'MultiTaskEnabled' => multi_task_enabled,
        'TimeoutActivitySid' => timeout_activity_sid,
        'PrioritizeQueueOrder' => prioritize_queue_order,
    })

    payload = @version.update('POST', @uri, data: data)
    WorkspaceInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end

#workers(sid = :unset) ⇒ WorkerList, WorkerContext

Access the workers

Returns:

Raises:

  • (ArgumentError)


369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 369

def workers(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return WorkerContext.new(@version, @solution[:sid],sid )
    end

    unless @workers
        @workers = WorkerList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @workers
end

#workflows(sid = :unset) ⇒ WorkflowList, WorkflowContext

Access the workflows

Returns:

Raises:

  • (ArgumentError)


331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 331

def workflows(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return WorkflowContext.new(@version, @solution[:sid],sid )
    end

    unless @workflows
        @workflows = WorkflowList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @workflows
end