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

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, workspace_sid: nil, sid: nil) ⇒ TaskInstance

Initialize the TaskInstance

Parameters:

  • version (Version) —

    Version that contains the resource

  • payload (Hash) —

    payload that contains response from Twilio

  • workspace_sid (String) (defaults to: nil) —

    The SID of the Workspace that contains the Task.

  • sid (String) (defaults to: nil) —

    The SID of the Task resource to fetch.



420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 420

def initialize(version, payload, workspace_sid: nil, sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'account_sid' => payload['account_sid'],
      'age' => payload['age'] == nil ? payload['age'] : payload['age'].to_i,
      'assignment_status' => payload['assignment_status'],
      'attributes' => payload['attributes'],
      'addons' => payload['addons'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'task_queue_entered_date' => Twilio.deserialize_iso8601_datetime(payload['task_queue_entered_date']),
      'priority' => payload['priority'] == nil ? payload['priority'] : payload['priority'].to_i,
      'reason' => payload['reason'],
      'sid' => payload['sid'],
      'task_queue_sid' => payload['task_queue_sid'],
      'task_queue_friendly_name' => payload['task_queue_friendly_name'],
      'task_channel_sid' => payload['task_channel_sid'],
      'task_channel_unique_name' => payload['task_channel_unique_name'],
      'timeout' => payload['timeout'] == nil ? payload['timeout'] : payload['timeout'].to_i,
      'workflow_sid' => payload['workflow_sid'],
      'workflow_friendly_name' => payload['workflow_friendly_name'],
      'workspace_sid' => payload['workspace_sid'],
      'url' => payload['url'],
      'links' => payload['links'],
  }

  # Context
  @instance_context = nil
  @params = {'workspace_sid' => workspace_sid, 'sid' => sid || @properties['sid'], }
end

Instance Method Details

#account_sid ⇒ String

Returns The SID of the Account that created the resource.

Returns:

  • (String) —

    The SID of the Account that created the resource



466
467
468
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 466

def 
  @properties['account_sid']
end

#addons ⇒ String

Returns An object that contains the addon data for all installed addons.

Returns:

  • (String) —

    An object that contains the addon data for all installed addons



490
491
492
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 490

def addons
  @properties['addons']
end

#age ⇒ String

Returns The number of seconds since the Task was created.

Returns:

  • (String) —

    The number of seconds since the Task was created



472
473
474
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 472

def age
  @properties['age']
end

#assignment_status ⇒ task.Status

Returns The current status of the Task's assignment.

Returns:

  • (task.Status) —

    The current status of the Task's assignment



478
479
480
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 478

def assignment_status
  @properties['assignment_status']
end

#attributes ⇒ String

Returns The JSON string with custom attributes of the work.

Returns:

  • (String) —

    The JSON string with custom attributes of the work



484
485
486
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 484

def attributes
  @properties['attributes']
end

#context ⇒ TaskContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



457
458
459
460
461
462
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 457

def context
  unless @instance_context
    @instance_context = TaskContext.new(@version, @params['workspace_sid'], @params['sid'], )
  end
  @instance_context
end

#date_created ⇒ Time

Returns The ISO 8601 date and time in GMT when the resource was created.

Returns:

  • (Time) —

    The ISO 8601 date and time in GMT when the resource was created



496
497
498
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 496

def date_created
  @properties['date_created']
end

#date_updated ⇒ Time

Returns The ISO 8601 date and time in GMT when the resource was last updated.

Returns:

  • (Time) —

    The ISO 8601 date and time in GMT when the resource was last updated



502
503
504
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 502

def date_updated
  @properties['date_updated']
end

#delete(if_match: :unset) ⇒ Boolean

Delete the TaskInstance

Parameters:

  • if_match (String) (defaults to: :unset) —

    If provided, deletes this Task if (and only if) the ETag header of the Task matches the provided value. This matches the semantics of (and is implemented with) the HTTP If-Match header.

Returns:

  • (Boolean) —

    true if delete succeeds, false otherwise



639
640
641
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 639

def delete(if_match: :unset)
  context.delete(if_match: if_match, )
end

#fetch ⇒ TaskInstance

Fetch the TaskInstance

Returns:



593
594
595
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 593

def fetch
  context.fetch
end

#inspect ⇒ Object

Provide a detailed, user friendly representation



659
660
661
662
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 659

def inspect
  values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Taskrouter.V1.TaskInstance #{values}>"
end

Returns The URLs of related resources.

Returns:

  • (String) —

    The URLs of related resources



586
587
588
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 586

def links
  @properties['links']
end

#priority ⇒ String

Returns Retrieve the list of all Tasks in the Workspace with the specified priority.

Returns:

  • (String) —

    Retrieve the list of all Tasks in the Workspace with the specified priority



514
515
516
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 514

def priority
  @properties['priority']
end

#reason ⇒ String

Returns The reason the Task was canceled or completed.

Returns:

  • (String) —

    The reason the Task was canceled or completed



520
521
522
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 520

def reason
  @properties['reason']
end

#reservations ⇒ reservations

Access the reservations

Returns:



646
647
648
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 646

def reservations
  context.reservations
end

#sid ⇒ String

Returns The unique string that identifies the resource.

Returns:

  • (String) —

    The unique string that identifies the resource



526
527
528
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 526

def sid
  @properties['sid']
end

#task_channel_sid ⇒ String

Returns The SID of the TaskChannel.

Returns:

  • (String) —

    The SID of the TaskChannel



544
545
546
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 544

def task_channel_sid
  @properties['task_channel_sid']
end

#task_channel_unique_name ⇒ String

Returns The unique name of the TaskChannel.

Returns:

  • (String) —

    The unique name of the TaskChannel



550
551
552
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 550

def task_channel_unique_name
  @properties['task_channel_unique_name']
end

#task_queue_entered_date ⇒ Time

Returns The ISO 8601 date and time in GMT when the Task entered the TaskQueue.

Returns:

  • (Time) —

    The ISO 8601 date and time in GMT when the Task entered the TaskQueue.



508
509
510
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 508

def task_queue_entered_date
  @properties['task_queue_entered_date']
end

#task_queue_friendly_name ⇒ String

Returns The friendly name of the TaskQueue.

Returns:

  • (String) —

    The friendly name of the TaskQueue



538
539
540
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 538

def task_queue_friendly_name
  @properties['task_queue_friendly_name']
end

#task_queue_sid ⇒ String

Returns The SID of the TaskQueue.

Returns:

  • (String) —

    The SID of the TaskQueue



532
533
534
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 532

def task_queue_sid
  @properties['task_queue_sid']
end

#timeout ⇒ String

Returns The amount of time in seconds that the Task can live before being assigned.

Returns:

  • (String) —

    The amount of time in seconds that the Task can live before being assigned



556
557
558
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 556

def timeout
  @properties['timeout']
end

#to_s ⇒ Object

Provide a user friendly representation



652
653
654
655
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 652

def to_s
  values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Taskrouter.V1.TaskInstance #{values}>"
end

#update(attributes: :unset, assignment_status: :unset, reason: :unset, priority: :unset, task_channel: :unset, if_match: :unset) ⇒ TaskInstance

Update the TaskInstance

Parameters:

  • attributes (String) (defaults to: :unset) —

    The JSON string that describes the custom attributes of the task.

  • assignment_status (task.Status) (defaults to: :unset) —

    The new status of the task. Can be: canceled, to cancel a Task that is currently pending or reserved; wrapping, to move the Task to wrapup state; or completed, to move a Task to the completed state.

  • reason (String) (defaults to: :unset) —

    The reason that the Task was canceled or completed. This parameter is required only if the Task is canceled or completed. Setting this value queues the task for deletion and logs the reason.

  • priority (String) (defaults to: :unset) —

    The Task's new priority value. When supplied, the Task takes on the specified priority unless it matches a Workflow Target with a Priority set. Value can be 0 to 2^31^ (2,147,483,647).

  • task_channel (String) (defaults to: :unset) —

    When MultiTasking is enabled, specify the TaskChannel with the task to update. Can be the TaskChannel's SID or its unique_name, such as voice, sms, or default.

  • if_match (String) (defaults to: :unset) —

    If provided, applies this mutation if (and only if) the ETag header of the Task matches the provided value. This matches the semantics of (and is implemented with) the HTTP If-Match header.

Returns:



620
621
622
623
624
625
626
627
628
629
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 620

def update(attributes: :unset, assignment_status: :unset, reason: :unset, priority: :unset, task_channel: :unset, if_match: :unset)
  context.update(
      attributes: attributes,
      assignment_status: assignment_status,
      reason: reason,
      priority: priority,
      task_channel: task_channel,
      if_match: if_match,
  )
end

#url ⇒ String

Returns The absolute URL of the Task resource.

Returns:

  • (String) —

    The absolute URL of the Task resource



580
581
582
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 580

def url
  @properties['url']
end

#workflow_friendly_name ⇒ String

Returns The friendly name of the Workflow that is controlling the Task.

Returns:

  • (String) —

    The friendly name of the Workflow that is controlling the Task



568
569
570
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 568

def workflow_friendly_name
  @properties['workflow_friendly_name']
end

#workflow_sid ⇒ String

Returns The SID of the Workflow that is controlling the Task.

Returns:

  • (String) —

    The SID of the Workflow that is controlling the Task



562
563
564
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 562

def workflow_sid
  @properties['workflow_sid']
end

#workspace_sid ⇒ String

Returns The SID of the Workspace that contains the Task.

Returns:

  • (String) —

    The SID of the Workspace that contains the Task



574
575
576
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb', line 574

def workspace_sid
  @properties['workspace_sid']
end