File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -412,10 +412,12 @@ def __setobj__(obj) # :nodoc:
412412 end
413413 protected_instance_methods . each do |method |
414414 define_method ( method , Delegator . delegating_block ( method ) )
415+ alias_method ( method , method )
415416 protected method
416417 end
417418 public_instance_methods . each do |method |
418419 define_method ( method , Delegator . delegating_block ( method ) )
420+ alias_method ( method , method )
419421 end
420422 end
421423 klass . define_singleton_method :public_instance_methods do |all = true |
Original file line number Diff line number Diff line change @@ -29,6 +29,18 @@ def test_delegate_class_block
2929 assert_equal ( 1 , klass . new ( [ 1 ] ) . foo )
3030 end
3131
32+ def test_delegate_class_block_with_override
33+ warning = EnvUtil . verbose_warning do
34+ klass = DelegateClass ( Array ) do
35+ def first
36+ super . inspect
37+ end
38+ end
39+ assert_equal ( "1" , klass . new ( [ 1 ] ) . first )
40+ end
41+ assert_empty ( warning )
42+ end
43+
3244 def test_systemcallerror_eq
3345 e = SystemCallError . new ( 0 )
3446 assert ( ( SimpleDelegator . new ( e ) == e ) == ( e == SimpleDelegator . new ( e ) ) , "[ruby-dev:34808]" )
You can’t perform that action at this time.
0 commit comments