Sha256: b83d5378b4fc72e6c5871250416d18ee45e875f1177ecbfaa2bba872206a4da6

Contents?: true

Size: 339 Bytes

Versions: 1

Compression:

Stored size: 339 Bytes

Contents

module Utils
  class FlockMutex
    def initialize(filename)
      @filename = filename
      FileUtils.touch(@filename)
    end
    
    def synchronize
      open(@filename, 'w+') do |f|
        f.flock(File::LOCK_EX)
        begin 
          yield
        ensure
          f.flock(File::LOCK_UN)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kissifer-utils-0.0.1 lib/utils/flock_mutex.rb