module SingleFile
Constants
- VERSION
Public Instance Methods
create_lockfile(filepath)
click to toggle source
# File lib/single_file.rb, line 16 def create_lockfile(filepath) File.open(filepath, File::RDWR|File::CREAT, 0644) end
obtain_file_lock(lockfile)
click to toggle source
# File lib/single_file.rb, line 20 def obtain_file_lock(lockfile) lockfile.flock(File::LOCK_EX|File::LOCK_NB) end
with_file_lock(filepath) { || ... }
click to toggle source
Allows you to use a system level file lock to run a given block of code only when the lock can be obtained
# File lib/single_file.rb, line 8 def with_file_lock(filepath) lockfile = create_lockfile(filepath) return unless obtain_file_lock(lockfile) yield ensure lockfile.close end