File tree 2 files changed +13
-1
lines changed
lib/concurrent-ruby/concurrent/synchronization
2 files changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -157,7 +157,7 @@ def ns_initialize(*values)
157
157
end
158
158
end
159
159
members . each_with_index do |member , index |
160
- clazz . send :remove_method , member if clazz . instance_methods . include? member
160
+ clazz . send :remove_method , member if clazz . instance_methods ( false ) . include? member
161
161
clazz . send ( :define_method , member ) do
162
162
@values [ index ]
163
163
end
Original file line number Diff line number Diff line change 26
26
expect ( clazz . ancestors ) . to include described_class
27
27
end
28
28
29
+ it 'ignores methods on ancestor classes' do
30
+ ancestor = described_class . ancestors . first
31
+ ancestor . class_eval { def foo ; end }
32
+
33
+ clazz = described_class . new ( :foo )
34
+ expect { described_class . const_get ( clazz . to_s ) } . to raise_error ( NameError )
35
+ expect ( clazz ) . to be_a Class
36
+ expect ( clazz . ancestors ) . to include described_class
37
+
38
+ ancestor . send :remove_method , :foo
39
+ end
40
+
29
41
it 'raises an exception when given an invalid class name' do
30
42
expect { described_class . new ( 'lowercase' ) } . to raise_error ( NameError )
31
43
expect { described_class . new ( '_' ) } . to raise_error ( NameError )
You can’t perform that action at this time.
0 commit comments