Issue #3688 has been updated by mame (Yusuke Endoh).

Target version set to Next Major


----------------------------------------
Feature #3688: redef keyword for method redefinition in Ruby 2.0
https://bugs.ruby-lang.org/issues/3688#change-33215

Author: sunaku (Suraj Kurapati)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: 
Target version: Next Major


=begin
 Hello,
 
 I saw Matz's Euroko 2010 keynote[1] where he mentioned adding the
 ability to redefine methods gracefully in Ruby 2.0.  I mean, more
 gracefully than this:
 
   class Hash
     # save the original method
     alias __original_initialize__ initialize
 
     # redefine the method
     def initialize(*args, &block)
       # do something extra ...
 
       # call the original method
       __original_initialize__(*args, &block)
 
       # do something more ...
     end
   end
 
 I suggest adding a "redef" keyword to Ruby 2.0 for this purpose:
 
   class Hash
     # redefine the method
     redef initialize(*args, &block)
       # do something extra ...
 
       # call the original method
       super
 
       # do something more ...
     end
   end
 
 The "redef" keyword should also have a twin "redefine_method" 
 method for use in block-based metaprogramming:
 
   class Hash
     # redefine the method
     redefine_method :initialize do |*args, &block|
       # do something extra ...
 
       # call the original method
       super
 
       # do something more ...
     end
   end
 
 Thanks for your consideration.
 
 [1]: http://euruko2010.heroku.com/Matz-
=end



-- 
http://bugs.ruby-lang.org/