File tree Expand file tree Collapse file tree 2 files changed +13
-1
lines changed
lib/concurrent-ruby/concurrent/synchronization Expand file tree Collapse file tree 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)
157157 end
158158 end
159159 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
161161 clazz . send ( :define_method , member ) do
162162 @values [ index ]
163163 end
Original file line number Diff line number Diff line change 2626 expect ( clazz . ancestors ) . to include described_class
2727 end
2828
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+
2941 it 'raises an exception when given an invalid class name' do
3042 expect { described_class . new ( 'lowercase' ) } . to raise_error ( NameError )
3143 expect { described_class . new ( '_' ) } . to raise_error ( NameError )
You can’t perform that action at this time.
0 commit comments