class MutexMigrations::Semaphore

Public Class Methods

new() click to toggle source
# File lib/mutex_migrations/semaphore.rb, line 7
def initialize
  @mutex = Mutex.new
end

Public Instance Methods

call() { || ... } click to toggle source
# File lib/mutex_migrations/semaphore.rb, line 11
def call
  return unless block_given?

  @mutex.synchronize do
    yield
  end
end
lock() click to toggle source
# File lib/mutex_migrations/semaphore.rb, line 19
def lock
  @mutex.try_lock
end
locked?() click to toggle source
# File lib/mutex_migrations/semaphore.rb, line 23
def locked?
  @mutex.locked?
end
unlock() click to toggle source
# File lib/mutex_migrations/semaphore.rb, line 27
def unlock
  @mutex.unlock
end