class SmartCore::Container::ArbitraryLock
@api private @since 0.1.0
Public Class Methods
new()
click to toggle source
@return [void]
@api private @since 0.1.0
# File lib/smart_core/container/arbitrary_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.1.0
# File lib/smart_core/container/arbitrary_lock.rb, line 19 def thread_safe(&block) @lock.owned? ? yield : @lock.synchronize(&block) end