From: "rosenfeld (Rodrigo Rosenfeld Rosas)" Date: 2012-05-19T08:37:19+09:00 Subject: [ruby-core:45137] [ruby-trunk - Feature #6452] Allow extend to override class methods Issue #6452 has been updated by rosenfeld (Rodrigo Rosenfeld Rosas). I'm not sure if prepend would have the same effect. I was expecting to call "super" in B and it would call A.a. Does it make sense? I don't really care if this would have another method name. Would you mind to explain why the current behavior is useful instead of doing what I'm proposing? I really don't understand why it was implemented this way... ---------------------------------------- Feature #6452: Allow extend to override class methods https://bugs.ruby-lang.org/issues/6452#change-26710 Author: rosenfeld (Rodrigo Rosenfeld Rosas) Status: Assigned Priority: Normal Assignee: matz (Yukihiro Matsumoto) Category: Target version: 3.0 ``` module A def self.a 'a1' end end module B def a 'a2' end def b 'b' end end A.extend B assert A.a == 'a2' # this is the change I'm proposing - currently it is 'a1' assert A.b == 'b' ``` Would this change be possible for 3.0? -- http://bugs.ruby-lang.org/