class AdManagerApi::Utils::UtilityRegistry

Class to keep a list of unique utilities used in order to perform tracking of client library features.

Attributes

enabled[RW]

Public Class Methods

new() click to toggle source
# File lib/ad_manager_api/utils.rb, line 33
def initialize
  @enabled = true
  @registry = Set.new
  @lock = Mutex.new
end

Public Instance Methods

add(util) click to toggle source
# File lib/ad_manager_api/utils.rb, line 51
def add(util)
  @lock.synchronize { @registry.add(util) if @enabled }
end
extract!() click to toggle source
# File lib/ad_manager_api/utils.rb, line 39
def extract!
  @lock.synchronize do
    registry = @registry.dup
    @registry.clear
    return registry
  end
end
length() click to toggle source
# File lib/ad_manager_api/utils.rb, line 47
def length
  @lock.synchronize { @registry.length }
end