Project

General

Profile

Actions

Feature #6712

closed

Introduce super! for calling old definition when reopening classes

Added by rosenfeld (Rodrigo Rosenfeld Rosas) almost 12 years ago. Updated almost 12 years ago.

Status:
Rejected
Target version:
[ruby-core:<unknown>]

Description

ActiveSupport adds support for alias_method_chain which is a hack for being able to call the original method being overriden when reopening a class:

Extracted from documentation:

http://apidock.com/rails/ActiveSupport/CoreExtensions/Module/alias_method_chain

"Encapsulates the common pattern of:

alias_method :foo_without_feature, :foo
alias_method :foo, :foo_with_feature"

I'd prefer to have an official non-hacking way of achieving the same with just Ruby. Something simpler like:

class A
def a
2
end
end

class A
def a
super! * 3
end
end

A.new.a == 6

This way we wouldn't need to polute A with a_with_feature and a_without_feature methods if we're not interested on them.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0