Sha256: 2f1883bdac6624270928a41231a2660c4c0fd58ea56d0d57010d313d27b266e8
Contents?: true
Size: 652 Bytes
Versions: 6
Compression:
Stored size: 652 Bytes
Contents
module RackDAV # Quick & Dirty class LockableFileResource < FileResource @@locks = {} def lock(token, timeout, scope = nil, type = nil, owner = nil) if scope && type && owner # Create lock @@locks[token] = { :timeout => timeout, :scope => scope, :type => type, :owner => owner } return true else # Refresh lock lock = @@locks[token] return false unless lock return [ lock[:timeout], lock[:scope], lock[:type], lock[:owner] ] end end def unlock(token) !!@@locks.delete(token) end end end
Version data entries
6 entries across 6 versions & 2 rubygems