redis-semaphore 0.2.1 → 0.2.2

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.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OWYwZTRjNTdiNmMzYzM5MzIwNjQzNzViYTBiOWEyNTY5MmQ1MDRkYQ==
5
+ data.tar.gz: !binary |-
6
+ MjhkM2JiMDE2ZDQ5YmYzNmY3NmE0ZjViOTcxYjVjMDgxM2RmMjY3NQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ NjZlNWQzMzJiYmY4ZTM2NDdmNGNmZTY5OGM0MmU3NzQxYzkyY2UzMmQ0Y2Rj
10
+ YjUzOGZhY2Q2ODA3ZGM5YzY0NTlhNTA4OGE3ZDlkODU1NDlmZGVkMWM5Mjg1
11
+ MDgxZDE3NjNhNTllOGU3MTYxNTU0YjQyNWM2MjJmNDQ3MmQxYTY=
12
+ data.tar.gz: !binary |-
13
+ MDQ4YTljMDAzNjRiZTI1YjI4ZjRlZDI4YmNjNzNjYjdlM2RlZWY1ZWRhOTQ2
14
+ ZTUyMzIyNzhlYTJmMTU0NjQ0NjYyMGU4OGYwMzk2MDkxNmVlNWIyMTBlYmZj
15
+ NjVjZGQ0NGI2ZmJlYTU0OWEzY2NkNWNlMDRjMGNhZTQ2MzJkYzk=
data/README.md CHANGED
@@ -189,6 +189,10 @@ Testing
189
189
  Changelog
190
190
  ---------
191
191
 
192
+ ###0.2.2 June 16, 2014
193
+ - Fixed bug in `all_tokens` (thanks presskey!).
194
+ - Fixed bug in error message (thanks Dmitriy!).
195
+
192
196
  ###0.2.1 August 6, 2013
193
197
  - Remove dependency on Redis 2.6+ using fallback for TIME command (thanks dubdromic!).
194
198
  - Add ```:use_local_time``` option
@@ -237,3 +241,5 @@ Thanks to these awesome peeps for their contributions:
237
241
  - [Ruurd Pels](https://github.com/ruurd)
238
242
  - [Prathan Thananart](https://github.com/scomma)
239
243
  - [dubdromic](https://github.com/dubdromic)
244
+ - [Dmitriy Kiriyenko](https://github.com/dmitriy-kiriyenko)
245
+ - [presskey](https://github.com/presskey)
@@ -28,7 +28,7 @@ class Redis
28
28
  if token.nil?
29
29
  create!
30
30
  elsif token != API_VERSION
31
- raise "Semaphore exists but running as wrong version (version #{version} vs #{API_VERSION})."
31
+ raise "Semaphore exists but running as wrong version (version #{token} vs #{API_VERSION})."
32
32
  else
33
33
  true
34
34
  end
@@ -100,7 +100,7 @@ class Redis
100
100
  def all_tokens
101
101
  @redis.multi do
102
102
  @redis.lrange(available_key, 0, -1)
103
- @redis.lrange(grabbed_key, 0, -1)
103
+ @redis.hkeys(grabbed_key)
104
104
  end.flatten
105
105
  end
106
106
 
@@ -171,4 +171,17 @@ describe "redis" do
171
171
  semaphore.send(:current_time).should == Time.now
172
172
  end
173
173
  end
174
+
175
+ describe "all_tokens" do
176
+ let(:semaphore) { Redis::Semaphore.new(:my_semaphore, :redis => @redis, :stale_client_timeout => 5) }
177
+
178
+ it "includes tokens from available and grabbed keys" do
179
+ semaphore.exists_or_create!
180
+ available_keys = semaphore.all_tokens
181
+ semaphore.lock(1)
182
+ grabbed_keys = semaphore.all_tokens
183
+
184
+ available_keys.should == grabbed_keys
185
+ end
186
+ end
174
187
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-semaphore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
5
- prerelease:
4
+ version: 0.2.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - David Verhasselt
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-08-06 00:00:00.000000000 Z
11
+ date: 2014-06-16 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: redis
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -44,26 +41,26 @@ files:
44
41
  - spec/spec_helper.rb
45
42
  homepage: http://github.com/dv/redis-semaphore
46
43
  licenses: []
44
+ metadata: {}
47
45
  post_install_message:
48
46
  rdoc_options: []
49
47
  require_paths:
50
48
  - lib
51
49
  required_ruby_version: !ruby/object:Gem::Requirement
52
- none: false
53
50
  requirements:
54
51
  - - ! '>='
55
52
  - !ruby/object:Gem::Version
56
53
  version: '0'
57
54
  required_rubygems_version: !ruby/object:Gem::Requirement
58
- none: false
59
55
  requirements:
60
56
  - - ! '>='
61
57
  - !ruby/object:Gem::Version
62
58
  version: '0'
63
59
  requirements: []
64
60
  rubyforge_project:
65
- rubygems_version: 1.8.23
61
+ rubygems_version: 2.1.10
66
62
  signing_key:
67
- specification_version: 3
63
+ specification_version: 4
68
64
  summary: Implements a distributed semaphore or mutex using Redis.
69
65
  test_files: []
66
+ has_rdoc: