wref 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.
Files changed (5) hide show
  1. data/Gemfile.lock +2 -4
  2. data/VERSION +1 -1
  3. data/lib/wref.rb +13 -13
  4. data/wref.gemspec +2 -2
  5. metadata +3 -3
@@ -3,13 +3,12 @@ GEM
3
3
  specs:
4
4
  diff-lcs (1.1.3)
5
5
  git (1.2.5)
6
- jeweler (1.8.3)
6
+ jeweler (1.8.4)
7
7
  bundler (~> 1.0)
8
8
  git (>= 1.2.5)
9
9
  rake
10
10
  rdoc
11
- json (1.7.1)
12
- json (1.7.1-java)
11
+ json (1.7.3)
13
12
  rake (0.9.2.2)
14
13
  rdoc (3.12)
15
14
  json (~> 1.4)
@@ -23,7 +22,6 @@ GEM
23
22
  rspec-mocks (2.8.0)
24
23
 
25
24
  PLATFORMS
26
- java
27
25
  ruby
28
26
 
29
27
  DEPENDENCIES
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
@@ -135,7 +135,7 @@ class Wref_map
135
135
 
136
136
  #JRuby cant handle this atm... Dunno why...
137
137
  if RUBY_ENGINE != "jruby"
138
- ObjectSpace.define_finalizer(obj, self.method("delete_by_id"))
138
+ ObjectSpace.define_finalizer(obj, self.method(:delete_by_id))
139
139
  end
140
140
 
141
141
  return nil
@@ -151,10 +151,13 @@ class Wref_map
151
151
  # end
152
152
  def get(id)
153
153
  begin
154
+ wref = nil
154
155
  @mutex.synchronize do
155
156
  raise Wref::Recycled if !@map.key?(id)
156
- return @map[id].get
157
+ wref = @map[id]
157
158
  end
159
+
160
+ return wref.get
158
161
  rescue Wref::Recycled => e
159
162
  self.delete(id)
160
163
  raise e
@@ -195,13 +198,13 @@ class Wref_map
195
198
  def valid?(key)
196
199
  @mutex.synchronize do
197
200
  return false if !@map.key?(key)
198
-
199
- begin
200
- @map[key].get
201
- return true
202
- rescue Wref::Recycled
203
- return false
204
- end
201
+ end
202
+
203
+ begin
204
+ @map[key].get
205
+ return true
206
+ rescue Wref::Recycled
207
+ return false
205
208
  end
206
209
  end
207
210
 
@@ -224,10 +227,7 @@ class Wref_map
224
227
  #Cleans the hash and returns the length. This is slower but more accurate than the ordinary length that just returns the hash-length.
225
228
  def length_valid
226
229
  self.clean
227
-
228
- @mutex.synchronize do
229
- return @map.length
230
- end
230
+ return self.length
231
231
  end
232
232
 
233
233
  #Deletes a key in the hash.
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{wref}
8
- s.version = "0.0.4"
8
+ s.version = "0.0.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kasper Johansen"]
12
- s.date = %q{2012-07-01}
12
+ s.date = %q{2012-07-24}
13
13
  s.description = %q{Lightweight weak reference and weak hash that works in 1.9 and JRuby.}
14
14
  s.email = %q{k@spernj.org}
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: wref
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.4
5
+ version: 0.0.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Kasper Johansen
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-07-01 00:00:00 +02:00
13
+ date: 2012-07-24 00:00:00 +02:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -93,7 +93,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- hash: 2862739513814942165
96
+ hash: 1899504982320509212
97
97
  segments:
98
98
  - 0
99
99
  version: "0"