just_one_lock 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fdd4c87787cac0bb8ea17b83a2a2f809e27e36b9
4
- data.tar.gz: d28028ed6b828b69e06eba74f2c0ba73ded5f17b
3
+ metadata.gz: 279edd5887b6cab66bb98750888a34874a01b326
4
+ data.tar.gz: 05ed51a2381bc20704ebcbe1f995ea9f1fbc8efc
5
5
  SHA512:
6
- metadata.gz: e4c39ab7a38402bdf8f21d7003e87e2c58b3510ed9f58b756b3a3a8d3db718ff713a28ea4648a08306ab044461f3b52efef6045c0b3e925218346af5ace090a8
7
- data.tar.gz: 45f8c1568fafbc80f6a3ce20e223b37e01072fe5e444cac0ca8c7881e8fb14d2ea55a764c545f702b2a30ede518ae8b1f7dd2e2fafb2c8b9585682420f3d097b
6
+ metadata.gz: 14b521caf2b66a1f7604f799fc3c4a8b3db6ed161b05b560c7a82427e53fb25fd396384108d6608c9339ca08095435b5a5a28d6c1d0a0bf14c0aedbb9b623552
7
+ data.tar.gz: 9193f32028551b0455011a11bf9b8f08f0360657a482455cbfc783f4aaffe5e26fc8420e7c413d2ba8a81cf8d9ec9463196d0b1fe4c54f51429ab4d9f01a0a91
@@ -1,3 +1,3 @@
1
1
  module JustOneLock
2
- VERSION = '0.1.1'
2
+ VERSION = '0.2.0'
3
3
  end
data/lib/just_one_lock.rb CHANGED
@@ -18,8 +18,8 @@ module JustOneLock
18
18
  end
19
19
 
20
20
  def self.prevent_multiple_executions(
21
- locker,
22
21
  scope,
22
+ locker = JustOneLock::NonBlockingLocker.new,
23
23
  &block
24
24
  )
25
25
  scope_name = scope.gsub(':', '_')
@@ -91,7 +91,7 @@ shared_examples 'a locking object' do
91
91
  dir, scope = dir_and_scope(lockpath)
92
92
 
93
93
  pid = fork {
94
- JustOneLock::prevent_multiple_executions(locker, scope) do
94
+ JustOneLock::prevent_multiple_executions(scope, locker) do
95
95
  sleep 10
96
96
  end
97
97
  }
@@ -105,7 +105,7 @@ shared_examples 'a locking object' do
105
105
  answer = 0
106
106
 
107
107
  thread = Thread.new {
108
- JustOneLock::prevent_multiple_executions(locker, scope) do
108
+ JustOneLock::prevent_multiple_executions(scope, locker) do
109
109
  answer += 42
110
110
  end
111
111
  }
data/spec/spec_helper.rb CHANGED
@@ -18,7 +18,7 @@ def parallel(n = 2, lockpath: Tempfile.new(['sample', '.lock']).path, &block)
18
18
 
19
19
  (1..n).map do
20
20
  Thread.new do
21
- JustOneLock::prevent_multiple_executions(locker, scope, &block)
21
+ JustOneLock::prevent_multiple_executions(scope, locker, &block)
22
22
  end
23
23
  end.map(&:join)
24
24
  end
@@ -33,7 +33,7 @@ def parallel_forks(n = 2, lockpath: Tempfile.new(['sample', '.lock']).path, &blo
33
33
 
34
34
  (1..n).map do
35
35
  fork {
36
- JustOneLock::prevent_multiple_executions(locker, scope, &block)
36
+ JustOneLock::prevent_multiple_executions(scope, locker, &block)
37
37
  }
38
38
  end.map do |pid|
39
39
  Process.waitpid(pid)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: just_one_lock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yury Kotov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-16 00:00:00.000000000 Z
11
+ date: 2014-10-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler