Sha256: 68720facc4037ca54270dc70682ce7f0878b5ee8582cab640bcd5d5f283cbd8b
Contents?: true
Size: 442 Bytes
Versions: 1
Compression:
Stored size: 442 Bytes
Contents
class Locky Error = Class.new StandardError attr_reader :name def initialize(name, adapter={}) @name = name @adapter = adapter end def lock(process) raise Error, "#{name} already locked by #{locked_by}" if locked? adapter[name] = process yield ensure adapter.delete name end def locked? adapter.key? name end def locked_by adapter[name] end private attr_reader :adapter end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
locky-0.0.1 | lib/locky.rb |