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