Module: Cirrus

Defined in:
lib/cirrus.rb,
lib/cirrus/version.rb

Defined Under Namespace

Classes: Lock, UnlockableException

Constant Summary collapse

VERSION =
"0.0.3"

Class Method Summary collapse

Class Method Details

.lock(redis, *ids) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/cirrus.rb', line 12

def self.lock(redis, *ids)
  lock = Cirrus::Lock.new(redis, ids)

  raise UnlockableException.new("Could not set lock: #{ids.inspect}") unless lock.set

  yield

ensure
  lock.release

end