Sha256: 4b454cf86224f79db0f8d5fa5f8a7669416d1f848ec7d9e8f46fb608cd23a293
Contents?: true
Size: 655 Bytes
Versions: 13
Compression:
Stored size: 655 Bytes
Contents
require 'thread_safe' require 'set' module Libuv module Listener private CALLBACKS = ThreadSafe::Cache.new def callbacks @callbacks ||= Set.new end def callback(name) const_name = "#{name}_#{object_id}".to_sym unless CALLBACKS[const_name] callbacks << const_name CALLBACKS[const_name] = method(name) end CALLBACKS[const_name] end def clear_callbacks callbacks.each do |name| CALLBACKS.delete(name) end callbacks.clear end end end
Version data entries
13 entries across 13 versions & 1 rubygems