Skip to content
This repository was archived by the owner on Mar 15, 2022. It is now read-only.

Commit ef212c6

Browse files
committed
Fix Ref::Mock.gc when given no arguments
1 parent df62ec9 commit ef212c6

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

lib/ref/mock.rb

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,16 @@ def object_space # :nodoc:
107107
# Simulate garbage collection of the objects passed in as arguments. If no objects
108108
# are specified, all objects will be reclaimed.
109109
def gc(*objects)
110-
objects = object_space.keys if objects.empty?
111-
objects.each do |obj|
112-
finalizers = object_space.delete(obj.__id__)
110+
objects = if objects.empty?
111+
object_space.keys
112+
else
113+
objects.map { |obj| obj.__id__ }
114+
end
115+
116+
objects.each do |id|
117+
finalizers = object_space.delete(id)
113118
if finalizers
114-
finalizers.each{|finalizer| finalizer.call(obj.__id__)}
119+
finalizers.each{|finalizer| finalizer.call(id)}
115120
end
116121
end
117122
end

0 commit comments

Comments
 (0)