Sha256: cc9635e926c03b26baaf641003b7beca1990a62098f96d5ac601472906442b96
Contents?: true
Size: 1.19 KB
Versions: 4
Compression:
Stored size: 1.19 KB
Contents
# frozen_string_literal: true module TwilioBase module TaskRouter class TaskQueue class << self def find_or_create_by(workspace:, friendly_name:, target_workers: nil) attributes = { workspace: workspace, friendly_name: friendly_name, target_workers: target_workers }.to_a find_by(attributes[0..1].to_h) || create(attributes.to_h) end def find_by(workspace:, friendly_name:) workspace.task_queues.list(friendly_name: friendly_name).first end def create(workspace:, friendly_name:, target_workers:) workspace.task_queues.create( assignment_activity_sid: assignment_activity_sid(workspace), friendly_name: friendly_name, reservation_activity_sid: reservation_activity_sid(workspace), target_workers: target_workers ) end def assignment_activity_sid(workspace) workspace.activities.list(friendly_name: 'Busy').first.sid end def reservation_activity_sid(workspace) workspace.activities.list(friendly_name: 'Reserved').first.sid end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems