Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Locksmith
- extend self
- Locked = Class.new(StandardError)
- def acquire(page, user, timeout = 30)
- if key[page.id].setnx(user.id)
- key[page.id].expire(timeout)
- else
- raise Locked
- end
- end
- def release(page)
- key[page.id].del
- end
- def key
- Nest.new(:Locksmith)
- end
- end
Add Comment
Please, Sign In to add comment