Class: Twilio::REST::Taskrouter::V1::WorkspaceContext::TaskQueueList::TaskQueuesStatisticsList

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

Instance Method Summary collapse

Constructor Details

#initialize(version, workspace_sid: nil) ⇒ TaskQueuesStatisticsList

Initialize the TaskQueuesStatisticsList

Parameters:

  • version (Version)

    Version that contains the resource

  • workspace_sid (String) (defaults to: nil)

    The ID of the Workspace that owns this TaskQueue



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

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

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

Instance Method Details

#eachObject

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



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

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 TaskQueuesStatisticsInstance records from the API. Request is executed immediately.

Parameters:

  • target_url (String)

    API-generated URL for the requested results page

Returns:

  • (Page)

    Page of TaskQueuesStatisticsInstance



183
184
185
186
187
188
189
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb', line 183

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

#list(end_date: :unset, friendly_name: :unset, minutes: :unset, start_date: :unset, task_channel: :unset, split_by_wait_time: :unset, limit: nil, page_size: nil) ⇒ Array

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

Parameters:

  • end_date (Time) (defaults to: :unset)

    Filter cumulative statistics by an end date. This is helpful for defining a range of statistics to capture. Input is a GMT ISO 8601 Timestamp.

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

    Filter the TaskQueue stats based on a TaskQueue’s name (only for list resource)

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

    Filter cumulative statistics by up to ‘x’ minutes in the past. This is helpful for statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends. Defaults to 15 minutes.

  • start_date (Time) (defaults to: :unset)

    Filter cumulative statistics by a start date. This is helpful for defining a range of statistics to capture. Input is a GMT ISO 8601 Timestamp.

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

    Filter real-time and cumulative statistics by TaskChannel. Takes in a Unique Name (“voice”, “sms”, “default”, etc.) or a TaskChannelSid.

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

    A comma separated values for viewing splits of tasks canceled and accepted above the given threshold in seconds. Ex: “5,30” would show splits of tasks that were canceled or accepted before or after 5 seconds and respectively, 30 seconds. This is great for showing short abandoned tasks or tasks that failed to meet your SLA.

  • 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



59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb', line 59

def list(end_date: :unset, friendly_name: :unset, minutes: :unset, start_date: :unset, task_channel: :unset, split_by_wait_time: :unset, limit: nil, page_size: nil)
  self.stream(
      end_date: end_date,
      friendly_name: friendly_name,
      minutes: minutes,
      start_date: start_date,
      task_channel: task_channel,
      split_by_wait_time: split_by_wait_time,
      limit: limit,
      page_size: page_size
  ).entries
end

#page(end_date: :unset, friendly_name: :unset, minutes: :unset, start_date: :unset, task_channel: :unset, split_by_wait_time: :unset, page_token: :unset, page_number: :unset, page_size: :unset) ⇒ Page

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

Parameters:

  • end_date (Time) (defaults to: :unset)

    Filter cumulative statistics by an end date. This is helpful for defining a range of statistics to capture. Input is a GMT ISO 8601 Timestamp.

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

    Filter the TaskQueue stats based on a TaskQueue’s name (only for list resource)

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

    Filter cumulative statistics by up to ‘x’ minutes in the past. This is helpful for statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends. Defaults to 15 minutes.

  • start_date (Time) (defaults to: :unset)

    Filter cumulative statistics by a start date. This is helpful for defining a range of statistics to capture. Input is a GMT ISO 8601 Timestamp.

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

    Filter real-time and cumulative statistics by TaskChannel. Takes in a Unique Name (“voice”, “sms”, “default”, etc.) or a TaskChannelSid.

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

    A comma separated values for viewing splits of tasks canceled and accepted above the given threshold in seconds. Ex: “5,30” would show splits of tasks that were canceled or accepted before or after 5 seconds and respectively, 30 seconds. This is great for showing short abandoned tasks or tasks that failed to meet your SLA.

  • 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 TaskQueuesStatisticsInstance



158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb', line 158

def page(end_date: :unset, friendly_name: :unset, minutes: :unset, start_date: :unset, task_channel: :unset, split_by_wait_time: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
  params = Twilio::Values.of({
      'EndDate' => Twilio.serialize_iso8601_datetime(end_date),
      'FriendlyName' => friendly_name,
      'Minutes' => minutes,
      'StartDate' => Twilio.serialize_iso8601_datetime(start_date),
      'TaskChannel' => task_channel,
      'SplitByWaitTime' => split_by_wait_time,
      'PageToken' => page_token,
      'Page' => page_number,
      'PageSize' => page_size,
  })
  response = @version.page(
      'GET',
      @uri,
      params
  )
  TaskQueuesStatisticsPage.new(@version, response, @solution)
end

#stream(end_date: :unset, friendly_name: :unset, minutes: :unset, start_date: :unset, task_channel: :unset, split_by_wait_time: :unset, limit: nil, page_size: nil) ⇒ Enumerable

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

Parameters:

  • end_date (Time) (defaults to: :unset)

    Filter cumulative statistics by an end date. This is helpful for defining a range of statistics to capture. Input is a GMT ISO 8601 Timestamp.

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

    Filter the TaskQueue stats based on a TaskQueue’s name (only for list resource)

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

    Filter cumulative statistics by up to ‘x’ minutes in the past. This is helpful for statistics for the last 15 minutes, 240 minutes (4 hours), and 480 minutes (8 hours) to see trends. Defaults to 15 minutes.

  • start_date (Time) (defaults to: :unset)

    Filter cumulative statistics by a start date. This is helpful for defining a range of statistics to capture. Input is a GMT ISO 8601 Timestamp.

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

    Filter real-time and cumulative statistics by TaskChannel. Takes in a Unique Name (“voice”, “sms”, “default”, etc.) or a TaskChannelSid.

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

    A comma separated values for viewing splits of tasks canceled and accepted above the given threshold in seconds. Ex: “5,30” would show splits of tasks that were canceled or accepted before or after 5 seconds and respectively, 30 seconds. This is great for showing short abandoned tasks or tasks that failed to meet your SLA.

  • 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



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

def stream(end_date: :unset, friendly_name: :unset, minutes: :unset, start_date: :unset, task_channel: :unset, split_by_wait_time: :unset, limit: nil, page_size: nil)
  limits = @version.read_limits(limit, page_size)

  page = self.page(
      end_date: end_date,
      friendly_name: friendly_name,
      minutes: minutes,
      start_date: start_date,
      task_channel: task_channel,
      split_by_wait_time: split_by_wait_time,
      page_size: limits[:page_size],
  )

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

#to_sObject

Provide a user friendly representation



193
194
195
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb', line 193

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