Class: RedisLock::MultiLock
- Inherits:
-
Object
- Object
- RedisLock::MultiLock
- Extended by:
- Forwardable
- Defined in:
- lib/redis_lock/multi_lock.rb
Instance Attribute Summary collapse
-
#keys ⇒ Object
readonly
Returns the value of attribute keys.
-
#locks ⇒ Object
readonly
Returns the value of attribute locks.
-
#opts ⇒ Object
readonly
Returns the value of attribute opts.
Instance Method Summary collapse
- #config ⇒ Object
- #delete ⇒ Object (also: #unlock!, #open!, #remove)
- #extract_options!(args) ⇒ Object
-
#initialize(*args) ⇒ MultiLock
constructor
A new instance of MultiLock.
- #key ⇒ Object
- #locked? ⇒ Boolean (also: #exists?, #in_use?)
- #open? ⇒ Boolean (also: #unlocked?)
- #set(ttl, opts = {}) ⇒ Object
Constructor Details
Instance Attribute Details
#keys ⇒ Object (readonly)
Returns the value of attribute keys.
4 5 6 |
# File 'lib/redis_lock/multi_lock.rb', line 4 def keys @keys end |
#locks ⇒ Object (readonly)
Returns the value of attribute locks.
4 5 6 |
# File 'lib/redis_lock/multi_lock.rb', line 4 def locks @locks end |
#opts ⇒ Object (readonly)
Returns the value of attribute opts.
4 5 6 |
# File 'lib/redis_lock/multi_lock.rb', line 4 def opts @opts end |
Instance Method Details
#config ⇒ Object
23 24 25 |
# File 'lib/redis_lock/multi_lock.rb', line 23 def config RedisLock.config end |
#delete ⇒ Object Also known as: unlock!, open!, remove
27 28 29 |
# File 'lib/redis_lock/multi_lock.rb', line 27 def delete map(&:delete).all?{ |e| e === true } end |
#extract_options!(args) ⇒ Object
15 16 17 |
# File 'lib/redis_lock/multi_lock.rb', line 15 def (args) args.last.is_a?(::Hash) ? args.pop : {} end |
#key ⇒ Object
39 40 41 |
# File 'lib/redis_lock/multi_lock.rb', line 39 def key map(&:key).join(', ') end |
#locked? ⇒ Boolean Also known as: exists?, in_use?
43 44 45 |
# File 'lib/redis_lock/multi_lock.rb', line 43 def locked? any?(&:locked?) end |
#open? ⇒ Boolean Also known as: unlocked?
34 35 36 |
# File 'lib/redis_lock/multi_lock.rb', line 34 def open? all?(&:open?) end |
#set(ttl, opts = {}) ⇒ Object
19 20 21 |
# File 'lib/redis_lock/multi_lock.rb', line 19 def set(ttl, opts = {}) map { |l| l.set(ttl, opts) }.all?{ |e| e === true } end |