class Twilio::REST::Taskrouter::V1::WorkspaceContext::WorkerContext
Public Class Methods
Initialize the WorkerContext
@param [Version] version Version
that contains the resource @param [String] workspace_sid The SID of the Workspace with the Worker to fetch. @param [String] sid The SID of the Worker resource to fetch. @return [WorkerContext] WorkerContext
Twilio::REST::InstanceContext::new
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb 261 def initialize(version, workspace_sid, sid) 262 super(version) 263 264 # Path Solution 265 @solution = {workspace_sid: workspace_sid, sid: sid, } 266 @uri = "/Workspaces/#{@solution[:workspace_sid]}/Workers/#{@solution[:sid]}" 267 268 # Dependents 269 @real_time_statistics = nil 270 @cumulative_statistics = nil 271 @statistics = nil 272 @reservations = nil 273 @worker_channels = nil 274 end
Public Instance Methods
Access the cumulative_statistics
@return [WorkersCumulativeStatisticsList] @return [WorkersCumulativeStatisticsContext]
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb 342 def cumulative_statistics 343 WorkersCumulativeStatisticsContext.new(@version, @solution[:workspace_sid], ) 344 end
Delete the WorkerInstance
@return [Boolean] true if delete succeeds, false otherwise
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb 326 def delete 327 @version.delete('DELETE', @uri) 328 end
Fetch the WorkerInstance
@return [WorkerInstance] Fetched WorkerInstance
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb 279 def fetch 280 payload = @version.fetch('GET', @uri) 281 282 WorkerInstance.new( 283 @version, 284 payload, 285 workspace_sid: @solution[:workspace_sid], 286 sid: @solution[:sid], 287 ) 288 end
Provide a detailed, user friendly representation
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb 407 def inspect 408 context = @solution.map {|k, v| "#{k}: #{v}"}.join(',') 409 "#<Twilio.Taskrouter.V1.WorkerContext #{context}>" 410 end
Access the real_time_statistics
@return [WorkersRealTimeStatisticsList] @return [WorkersRealTimeStatisticsContext]
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb 334 def real_time_statistics 335 WorkersRealTimeStatisticsContext.new(@version, @solution[:workspace_sid], ) 336 end
Access the reservations @return [ReservationList] @return [ReservationContext] if sid was passed.
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb 358 def reservations(sid=:unset) 359 raise ArgumentError, 'sid cannot be nil' if sid.nil? 360 361 if sid != :unset 362 return ReservationContext.new(@version, @solution[:workspace_sid], @solution[:sid], sid, ) 363 end 364 365 unless @reservations 366 @reservations = ReservationList.new( 367 @version, 368 workspace_sid: @solution[:workspace_sid], 369 worker_sid: @solution[:sid], 370 ) 371 end 372 373 @reservations 374 end
Access the statistics @return [WorkerStatisticsList] @return [WorkerStatisticsContext]
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb 350 def statistics 351 WorkerStatisticsContext.new(@version, @solution[:workspace_sid], @solution[:sid], ) 352 end
Provide a user friendly representation
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb 400 def to_s 401 context = @solution.map {|k, v| "#{k}: #{v}"}.join(',') 402 "#<Twilio.Taskrouter.V1.WorkerContext #{context}>" 403 end
Update the WorkerInstance
@param [String] activity_sid The SID of a valid Activity that will describe the
Worker's initial state. See {Activities}[https://www.twilio.com/docs/taskrouter/api/activity] for more information.
@param [String] attributes The JSON string that describes the Worker. For
example: `{ "email": "Bob@example.com", "phone": "+5095551234" }`. This data is passed to the `assignment_callback_url` when TaskRouter assigns a Task to the Worker. Defaults to {}.
@param [String] friendly_name A descriptive string that you create to describe
the Worker. It can be up to 64 characters long.
@param [Boolean] reject_pending_reservations Whether to reject pending
reservations.
@return [WorkerInstance] Updated WorkerInstance
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb 305 def update(activity_sid: :unset, attributes: :unset, friendly_name: :unset, reject_pending_reservations: :unset) 306 data = Twilio::Values.of({ 307 'ActivitySid' => activity_sid, 308 'Attributes' => attributes, 309 'FriendlyName' => friendly_name, 310 'RejectPendingReservations' => reject_pending_reservations, 311 }) 312 313 payload = @version.update('POST', @uri, data: data) 314 315 WorkerInstance.new( 316 @version, 317 payload, 318 workspace_sid: @solution[:workspace_sid], 319 sid: @solution[:sid], 320 ) 321 end
Access the worker_channels
@return [WorkerChannelList] @return [WorkerChannelContext] if sid was passed.
# File lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb 380 def worker_channels(sid=:unset) 381 raise ArgumentError, 'sid cannot be nil' if sid.nil? 382 383 if sid != :unset 384 return WorkerChannelContext.new(@version, @solution[:workspace_sid], @solution[:sid], sid, ) 385 end 386 387 unless @worker_channels 388 @worker_channels = WorkerChannelList.new( 389 @version, 390 workspace_sid: @solution[:workspace_sid], 391 worker_sid: @solution[:sid], 392 ) 393 end 394 395 @worker_channels 396 end