class SmartCore::Container::ArbitaryLock
@api private @since 0.7.0
Public Class Methods
new()
click to toggle source
@return [void]
@api private @since 0.7.0
# File lib/smart_core/container/arbitary_lock.rb, line 10 def initialize @lock = Mutex.new end
Public Instance Methods
thread_safe() { |: synchronize(&block)| ... }
click to toggle source
@param block [Proc] @return [Any]
@api private @since 0.7.0
# File lib/smart_core/container/arbitary_lock.rb, line 19 def thread_safe(&block) @lock.owned? ? yield : @lock.synchronize(&block) end