redis-lockex 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cbc1931b18942fec1eb3c3311030737ef93ce920
4
- data.tar.gz: 4eb5b9e06ff17348f5d565a1714419200b4deefb
3
+ metadata.gz: 20940d22bb2fc2133160f25138c9876af561bcdf
4
+ data.tar.gz: 0953a17b2c50c4cd001894a2bdf3ecd4504f1e62
5
5
  SHA512:
6
- metadata.gz: 15734bc21e60b16535651180ad400351cdc0904a2d18d3db4e4b204ea68e12b46bb7ae8c52f0e4be87193a8464d12c1fbde58cf4d6745a981ecbd8faf0ce52ea
7
- data.tar.gz: 89d3463833bb6298d54798c53e57b74fc2df786c6264c379d106790b943e1ed995a140c91512723cc02443e2f6bddb859dbd2f37608c30b305a58f9b4c1fbfa4
6
+ metadata.gz: a829eb3d42fcd4be2088f5f694925415c8cd789f938b7a4bf2711b2c71d66cb320e6524fabaa13a229e7c90b095bb5d6a799516e76c5be0fca86fee269b70afa
7
+ data.tar.gz: 6edb54c0bf060d57843449179b99e51f2182ec5cf74b7ef07ca91cab5e22f351f405d2633b5928b1775bac4d3a64bbd137b51d11c0f8f0be3cddf112dba9bf5c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- redis-lockex (0.0.4)
4
+ redis-lockex (0.0.5)
5
5
  activesupport (>= 4)
6
6
  redis
7
7
 
data/lib/redis-lockex.rb CHANGED
@@ -1,24 +1,17 @@
1
1
  require_relative 'initialize'
2
2
 
3
3
  class Redis
4
- def lock(options, &proc)
5
- key = options.is_a?(String) ? options : extract_option(options, :key)
6
- interval = extract_option(options, :interval, 1)
7
- block = extract_option(options, :block, true)
8
- proc ||= extract_option(options, :proc)
9
- locked = extract_option(options, :locked, -> {})
10
- unlocked = extract_option(options, :unlocked, -> {})
11
- expire = extract_option(options, :expire, nil)
4
+ def lock(arg_key = nil, key: nil, interval: 1, block: true, proc: nil, locked: -> {}, unlocked: -> {}, expire: nil, &arg_proc)
5
+ key ||= arg_key
6
+ proc ||= arg_proc
12
7
  k = lock_key(key)
13
8
  if block
14
9
  sleep(interval) until lock_core(k, expire)
15
10
  else
16
- unless lock_core(k, expire)
17
- return false
18
- end
11
+ return false unless lock_core(k, expire)
19
12
  end
20
- locked.call
21
13
  if proc
14
+ locked.call
22
15
  begin
23
16
  proc.call
24
17
  ensure
@@ -44,12 +37,4 @@ class Redis
44
37
  def lock_core(key, expire)
45
38
  set(key, '', nx: true, ex: expire)
46
39
  end
47
-
48
- def extract_option(options, key, default = nil)
49
- if options.is_a?(Hash) && options.key?(key)
50
- options.delete(key)
51
- else
52
- default
53
- end
54
- end
55
40
  end
data/redis-lockex.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'redis-lockex'
3
- s.version = '0.0.4'
3
+ s.version = '0.0.5'
4
4
  s.authors = ['Tetsuri Moriya']
5
5
  s.email = ['tetsuri.moriya@gmail.com']
6
6
  s.summary = 'Redis lock extension'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-lockex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tetsuri Moriya