lib/l2meter/thread_safe.rb in l2meter-0.1.0 vs lib/l2meter/thread_safe.rb in l2meter-0.1.1
- old
+ new
@@ -4,11 +4,11 @@
# make Emitter thread-safe, it makes sure that you don't access the same
# instance of emitter from different threads.
class ThreadSafe
extend Forwardable
- EMITTER_METHODS = %i[
+ PROXY_CLONE_METHODS = %i[
configuration
context
count
log
measure
@@ -16,16 +16,22 @@
silence
unique
with_elapsed
]
- private_constant :EMITTER_METHODS
+ PROXY_DIRECT_METHODS = %i[
+ silence!
+ unsilence!
+ ]
+ private_constant :PROXY_CLONE_METHODS, :PROXY_DIRECT_METHODS
+
def initialize(emitter)
@emitter = emitter.freeze
end
- def_delegators :current_emitter, *EMITTER_METHODS
+ def_delegators :current_emitter, *PROXY_CLONE_METHODS
+ def_delegators :emitter, *PROXY_DIRECT_METHODS
private
attr_reader :emitter