ref 1.0.0

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 (45) hide show
  1. data/README.rdoc +35 -0
  2. data/VERSION +1 -0
  3. data/ext/java/org/jruby/ext/ref/ReferencesService.java +28 -0
  4. data/ext/java/org/jruby/ext/ref/RubySoftReference.java +43 -0
  5. data/ext/java/org/jruby/ext/ref/RubyWeakReference.java +43 -0
  6. data/lib/org/jruby/ext/ref/references.jar +0 -0
  7. data/lib/ref.rb +39 -0
  8. data/lib/ref/abstract_reference_key_map.rb +117 -0
  9. data/lib/ref/abstract_reference_value_map.rb +127 -0
  10. data/lib/ref/mock.rb +145 -0
  11. data/lib/ref/reference.rb +24 -0
  12. data/lib/ref/reference_queue.rb +89 -0
  13. data/lib/ref/safe_monitor.rb +50 -0
  14. data/lib/ref/soft_key_map.rb +26 -0
  15. data/lib/ref/soft_reference.rb +67 -0
  16. data/lib/ref/soft_value_map.rb +28 -0
  17. data/lib/ref/strong_reference.rb +17 -0
  18. data/lib/ref/weak_key_map.rb +26 -0
  19. data/lib/ref/weak_reference.rb +26 -0
  20. data/lib/ref/weak_reference/iron_ruby.rb +14 -0
  21. data/lib/ref/weak_reference/pure_ruby.rb +91 -0
  22. data/lib/ref/weak_reference/weak_ref.rb +23 -0
  23. data/lib/ref/weak_value_map.rb +27 -0
  24. data/test/reference_key_map_behavior.rb +157 -0
  25. data/test/reference_key_map_behavior.rbc +4296 -0
  26. data/test/reference_queue_test.rb +60 -0
  27. data/test/reference_queue_test.rbc +1954 -0
  28. data/test/reference_value_map_behavior.rb +137 -0
  29. data/test/reference_value_map_behavior.rbc +3615 -0
  30. data/test/soft_key_map_test.rb +13 -0
  31. data/test/soft_key_map_test.rbc +374 -0
  32. data/test/soft_reference_test.rb +49 -0
  33. data/test/soft_reference_test.rbc +1481 -0
  34. data/test/soft_value_map_test.rb +13 -0
  35. data/test/soft_value_map_test.rbc +374 -0
  36. data/test/strong_reference_test.rb +15 -0
  37. data/test/strong_reference_test.rbc +562 -0
  38. data/test/test_helper.rb +4 -0
  39. data/test/weak_key_map_test.rb +13 -0
  40. data/test/weak_key_map_test.rbc +374 -0
  41. data/test/weak_reference_test.rb +46 -0
  42. data/test/weak_reference_test.rbc +1254 -0
  43. data/test/weak_value_map_test.rb +13 -0
  44. data/test/weak_value_map_test.rbc +374 -0
  45. metadata +113 -0
@@ -0,0 +1,13 @@
1
+ require File.expand_path("../test_helper", __FILE__)
2
+
3
+ class TestWeakValueMap < Test::Unit::TestCase
4
+ include ReferenceValueMapBehavior
5
+
6
+ def map_class
7
+ Ref::WeakValueMap
8
+ end
9
+
10
+ def reference_class
11
+ Ref::WeakReference
12
+ end
13
+ end
@@ -0,0 +1,374 @@
1
+ !RBIX
2
+ 0
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 82
13
+ 5
14
+ 7
15
+ 0
16
+ 64
17
+ 47
18
+ 49
19
+ 1
20
+ 1
21
+ 15
22
+ 5
23
+ 45
24
+ 2
25
+ 3
26
+ 7
27
+ 4
28
+ 64
29
+ 65
30
+ 49
31
+ 5
32
+ 0
33
+ 49
34
+ 6
35
+ 2
36
+ 47
37
+ 49
38
+ 1
39
+ 1
40
+ 15
41
+ 5
42
+ 45
43
+ 2
44
+ 7
45
+ 7
46
+ 8
47
+ 64
48
+ 65
49
+ 49
50
+ 5
51
+ 0
52
+ 49
53
+ 6
54
+ 2
55
+ 47
56
+ 49
57
+ 1
58
+ 1
59
+ 15
60
+ 99
61
+ 7
62
+ 9
63
+ 45
64
+ 10
65
+ 11
66
+ 43
67
+ 12
68
+ 43
69
+ 13
70
+ 65
71
+ 49
72
+ 14
73
+ 3
74
+ 13
75
+ 99
76
+ 12
77
+ 7
78
+ 15
79
+ 12
80
+ 7
81
+ 16
82
+ 12
83
+ 65
84
+ 12
85
+ 49
86
+ 17
87
+ 4
88
+ 15
89
+ 49
90
+ 15
91
+ 0
92
+ 15
93
+ 2
94
+ 11
95
+ I
96
+ 6
97
+ I
98
+ 0
99
+ I
100
+ 0
101
+ I
102
+ 0
103
+ n
104
+ p
105
+ 18
106
+ s
107
+ 9
108
+ test/unit
109
+ x
110
+ 7
111
+ require
112
+ x
113
+ 4
114
+ File
115
+ n
116
+ s
117
+ 13
118
+ ../../lib/ref
119
+ x
120
+ 11
121
+ active_path
122
+ x
123
+ 11
124
+ expand_path
125
+ n
126
+ s
127
+ 31
128
+ ../reference_value_map_behavior
129
+ x
130
+ 16
131
+ TestWeakValueMap
132
+ x
133
+ 4
134
+ Test
135
+ n
136
+ x
137
+ 4
138
+ Unit
139
+ x
140
+ 8
141
+ TestCase
142
+ x
143
+ 10
144
+ open_class
145
+ x
146
+ 14
147
+ __class_init__
148
+ M
149
+ 1
150
+ n
151
+ n
152
+ x
153
+ 16
154
+ TestWeakValueMap
155
+ i
156
+ 39
157
+ 5
158
+ 66
159
+ 5
160
+ 45
161
+ 0
162
+ 1
163
+ 47
164
+ 49
165
+ 2
166
+ 1
167
+ 15
168
+ 99
169
+ 7
170
+ 3
171
+ 7
172
+ 4
173
+ 65
174
+ 67
175
+ 49
176
+ 5
177
+ 0
178
+ 49
179
+ 6
180
+ 4
181
+ 15
182
+ 99
183
+ 7
184
+ 7
185
+ 7
186
+ 8
187
+ 65
188
+ 67
189
+ 49
190
+ 5
191
+ 0
192
+ 49
193
+ 6
194
+ 4
195
+ 11
196
+ I
197
+ 5
198
+ I
199
+ 0
200
+ I
201
+ 0
202
+ I
203
+ 0
204
+ n
205
+ p
206
+ 9
207
+ x
208
+ 25
209
+ ReferenceValueMapBehavior
210
+ n
211
+ x
212
+ 7
213
+ include
214
+ x
215
+ 9
216
+ map_class
217
+ M
218
+ 1
219
+ n
220
+ n
221
+ x
222
+ 9
223
+ map_class
224
+ i
225
+ 6
226
+ 45
227
+ 0
228
+ 1
229
+ 43
230
+ 2
231
+ 11
232
+ I
233
+ 1
234
+ I
235
+ 0
236
+ I
237
+ 0
238
+ I
239
+ 0
240
+ n
241
+ p
242
+ 3
243
+ x
244
+ 3
245
+ Ref
246
+ n
247
+ x
248
+ 12
249
+ WeakValueMap
250
+ p
251
+ 5
252
+ I
253
+ -1
254
+ I
255
+ 8
256
+ I
257
+ 0
258
+ I
259
+ 9
260
+ I
261
+ 6
262
+ x
263
+ 59
264
+ /Users/bdurand/dev/projects/ref/test/weak_value_map_test.rb
265
+ p
266
+ 0
267
+ x
268
+ 17
269
+ method_visibility
270
+ x
271
+ 15
272
+ add_defn_method
273
+ x
274
+ 15
275
+ reference_class
276
+ M
277
+ 1
278
+ n
279
+ n
280
+ x
281
+ 15
282
+ reference_class
283
+ i
284
+ 6
285
+ 45
286
+ 0
287
+ 1
288
+ 43
289
+ 2
290
+ 11
291
+ I
292
+ 1
293
+ I
294
+ 0
295
+ I
296
+ 0
297
+ I
298
+ 0
299
+ n
300
+ p
301
+ 3
302
+ x
303
+ 3
304
+ Ref
305
+ n
306
+ x
307
+ 13
308
+ WeakReference
309
+ p
310
+ 5
311
+ I
312
+ -1
313
+ I
314
+ c
315
+ I
316
+ 0
317
+ I
318
+ d
319
+ I
320
+ 6
321
+ x
322
+ 59
323
+ /Users/bdurand/dev/projects/ref/test/weak_value_map_test.rb
324
+ p
325
+ 0
326
+ p
327
+ 7
328
+ I
329
+ 2
330
+ I
331
+ 6
332
+ I
333
+ b
334
+ I
335
+ 8
336
+ I
337
+ 19
338
+ I
339
+ c
340
+ I
341
+ 27
342
+ x
343
+ 59
344
+ /Users/bdurand/dev/projects/ref/test/weak_value_map_test.rb
345
+ p
346
+ 0
347
+ x
348
+ 13
349
+ attach_method
350
+ p
351
+ 9
352
+ I
353
+ 0
354
+ I
355
+ 1
356
+ I
357
+ 9
358
+ I
359
+ 2
360
+ I
361
+ 1c
362
+ I
363
+ 3
364
+ I
365
+ 2f
366
+ I
367
+ 5
368
+ I
369
+ 52
370
+ x
371
+ 59
372
+ /Users/bdurand/dev/projects/ref/test/weak_value_map_test.rb
373
+ p
374
+ 0
metadata ADDED
@@ -0,0 +1,113 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ref
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease:
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ version: 1.0.0
11
+ platform: ruby
12
+ authors:
13
+ - Brian Durand
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-01-11 00:00:00 -06:00
19
+ default_executable:
20
+ dependencies: []
21
+
22
+ description: Library that implements weak, soft, and strong references in Ruby that work across multiple runtimes (MRI, REE, YARV, Jruby, Rubinius, and IronRuby). Also includes implementation of maps/hashes that use references and a reference queue.
23
+ email:
24
+ - bdurand@embellishedvisions.com
25
+ executables: []
26
+
27
+ extensions: []
28
+
29
+ extra_rdoc_files:
30
+ - README.rdoc
31
+ files:
32
+ - README.rdoc
33
+ - VERSION
34
+ - lib/org/jruby/ext/ref/references.jar
35
+ - lib/ref/abstract_reference_key_map.rb
36
+ - lib/ref/abstract_reference_value_map.rb
37
+ - lib/ref/mock.rb
38
+ - lib/ref/reference.rb
39
+ - lib/ref/reference_queue.rb
40
+ - lib/ref/safe_monitor.rb
41
+ - lib/ref/soft_key_map.rb
42
+ - lib/ref/soft_reference.rb
43
+ - lib/ref/soft_value_map.rb
44
+ - lib/ref/strong_reference.rb
45
+ - lib/ref/weak_key_map.rb
46
+ - lib/ref/weak_reference/iron_ruby.rb
47
+ - lib/ref/weak_reference/pure_ruby.rb
48
+ - lib/ref/weak_reference/weak_ref.rb
49
+ - lib/ref/weak_reference.rb
50
+ - lib/ref/weak_value_map.rb
51
+ - lib/ref.rb
52
+ - test/reference_key_map_behavior.rb
53
+ - test/reference_key_map_behavior.rbc
54
+ - test/reference_queue_test.rb
55
+ - test/reference_queue_test.rbc
56
+ - test/reference_value_map_behavior.rb
57
+ - test/reference_value_map_behavior.rbc
58
+ - test/soft_key_map_test.rb
59
+ - test/soft_key_map_test.rbc
60
+ - test/soft_reference_test.rb
61
+ - test/soft_reference_test.rbc
62
+ - test/soft_value_map_test.rb
63
+ - test/soft_value_map_test.rbc
64
+ - test/strong_reference_test.rb
65
+ - test/strong_reference_test.rbc
66
+ - test/test_helper.rb
67
+ - test/weak_key_map_test.rb
68
+ - test/weak_key_map_test.rbc
69
+ - test/weak_reference_test.rb
70
+ - test/weak_reference_test.rbc
71
+ - test/weak_value_map_test.rb
72
+ - test/weak_value_map_test.rbc
73
+ - ext/java/org/jruby/ext/ref/ReferencesService.java
74
+ - ext/java/org/jruby/ext/ref/RubySoftReference.java
75
+ - ext/java/org/jruby/ext/ref/RubyWeakReference.java
76
+ has_rdoc: true
77
+ homepage: http://github.com/bdurand/ref
78
+ licenses: []
79
+
80
+ post_install_message:
81
+ rdoc_options:
82
+ - --charset=UTF-8
83
+ - --main
84
+ - README.rdoc
85
+ require_paths:
86
+ - lib
87
+ required_ruby_version: !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ hash: 3
93
+ segments:
94
+ - 0
95
+ version: "0"
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ hash: 3
102
+ segments:
103
+ - 0
104
+ version: "0"
105
+ requirements: []
106
+
107
+ rubyforge_project:
108
+ rubygems_version: 1.4.1
109
+ signing_key:
110
+ specification_version: 3
111
+ summary: Library that implements weak, soft, and strong references in Ruby.
112
+ test_files: []
113
+