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

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

Instance Method Summary collapse

Constructor Details

#initialize(version, workspace_sid: nil) ⇒ ActivityList

Initialize the ActivityList

Parameters:

  • version (Version)

    Version that contains the resource

  • workspace_sid (String) (defaults to: nil)

    The unique ID of the Workspace that this Activity belongs to.



21
22
23
24
25
26
27
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb', line 21

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

  # Path Solution
  @solution = {workspace_sid: workspace_sid}
  @uri = "/Workspaces/#{@solution[:workspace_sid]}/Activities"
end

Instance Method Details

#create(friendly_name: nil, available: :unset) ⇒ ActivityInstance

Retrieve a single page of ActivityInstance records from the API. Request is executed immediately.

Parameters:

  • friendly_name (String) (defaults to: nil)

    A human-readable name for the Activity, such as ‘On Call’, ‘Break’, ‘Email’, etc. Must be unique in this Workspace. These names will be used to calculate and expose statistics about workers, and give you visibility into the state of each of your workers.

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

    Boolean value indicating whether the worker should be eligible to receive a Task when they occupy this Activity. For example, a call center might have an activity named ‘On Call’ with an availability set to ‘false’. Note: This can be ‘true’, ‘1’ or ‘yes’ to indicate a true value. All other values will represent false. Defaults to false.

Returns:



143
144
145
146
147
148
149
150
151
152
153
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb', line 143

def create(friendly_name: nil, available: :unset)
  data = Twilio::Values.of({'FriendlyName' => friendly_name, 'Available' => available, })

  payload = @version.create(
      'POST',
      @uri,
      data: data
  )

  ActivityInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid], )
end

#eachObject

When passed a block, yields ActivityInstance records from the API. This operation lazily loads records as efficiently as possible until the limit is reached.



80
81
82
83
84
85
86
87
88
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb', line 80

def each
  limits = @version.read_limits

  page = self.page(page_size: limits[:page_size], )

  @version.stream(page,
                  limit: limits[:limit],
                  page_limit: limits[:page_limit]).each {|x| yield x}
end

#get_page(target_url) ⇒ Page

Retrieve a single page of ActivityInstance records from the API. Request is executed immediately.

Parameters:

  • target_url (String)

    API-generated URL for the requested results page

Returns:

  • (Page)

    Page of ActivityInstance



122
123
124
125
126
127
128
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb', line 122

def get_page(target_url)
  response = @version.domain.request(
      'GET',
      target_url
  )
  ActivityPage.new(@version, response, @solution)
end

#list(friendly_name: :unset, available: :unset, limit: nil, page_size: nil) ⇒ Array

Lists ActivityInstance records from the API as a list. Unlike stream(), this operation is eager and will load ‘limit` records into memory before returning.

Parameters:

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

    Filter by an Activity’s friendly name

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

    Filter by activities that are available or unavailable. (Note: This can be ‘true’, ‘1” or ’yes’ to indicate a true value. All other values will represent false)

  • limit (Integer) (defaults to: nil)

    Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit

  • page_size (Integer) (defaults to: nil)

    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)

Returns:

  • (Array)

    Array of up to limit results



44
45
46
47
48
49
50
51
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb', line 44

def list(friendly_name: :unset, available: :unset, limit: nil, page_size: nil)
  self.stream(
      friendly_name: friendly_name,
      available: available,
      limit: limit,
      page_size: page_size
  ).entries
end

#page(friendly_name: :unset, available: :unset, page_token: :unset, page_number: :unset, page_size: :unset) ⇒ Page

Retrieve a single page of ActivityInstance records from the API. Request is executed immediately.

Parameters:

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

    Filter by an Activity’s friendly name

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

    Filter by activities that are available or unavailable. (Note: This can be ‘true’, ‘1” or ’yes’ to indicate a true value. All other values will represent false)

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

    PageToken provided by the API

  • page_number (Integer) (defaults to: :unset)

    Page Number, this value is simply for client state

  • page_size (Integer) (defaults to: :unset)

    Number of records to return, defaults to 50

Returns:

  • (Page)

    Page of ActivityInstance



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb', line 101

def page(friendly_name: :unset, available: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
  params = Twilio::Values.of({
      'FriendlyName' => friendly_name,
      'Available' => available,
      'PageToken' => page_token,
      'Page' => page_number,
      'PageSize' => page_size,
  })
  response = @version.page(
      'GET',
      @uri,
      params
  )
  ActivityPage.new(@version, response, @solution)
end

#stream(friendly_name: :unset, available: :unset, limit: nil, page_size: nil) ⇒ Enumerable

Streams ActivityInstance records from the API as an Enumerable. This operation lazily loads records as efficiently as possible until the limit is reached.

Parameters:

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

    Filter by an Activity’s friendly name

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

    Filter by activities that are available or unavailable. (Note: This can be ‘true’, ‘1” or ’yes’ to indicate a true value. All other values will represent false)

  • limit (Integer) (defaults to: nil)

    Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit.

  • page_size (Integer) (defaults to: nil)

    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)

Returns:

  • (Enumerable)

    Enumerable that will yield up to limit results



68
69
70
71
72
73
74
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb', line 68

def stream(friendly_name: :unset, available: :unset, limit: nil, page_size: nil)
  limits = @version.read_limits(limit, page_size)

  page = self.page(friendly_name: friendly_name, available: available, page_size: limits[:page_size], )

  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
end

#to_sObject

Provide a user friendly representation



157
158
159
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb', line 157

def to_s
  '#<Twilio.Taskrouter.V1.ActivityList>'
end