Ruby · Avançado · Inglês · Técnico
inherited hook
Método de classe que o Ruby chama na superclasse sempre que alguém cria uma subclasse dela, recebendo a nova classe. Serve para registrar subclasses ou configurar herança.
Onde usar
Aparece em frameworks que mantêm um registro de plugins ou handlers, rastreando todas as subclasses de uma base.
Em código
class Base
FILHAS = []
def self.inherited(sub)
super
FILHAS << sub
end
end
class A < Base; end # FILHAS => [A]Exemplos
The base class tracks its children in the inherited hook.
A classe base rastreia as filhas no hook inherited.
Don't forget to call super inside inherited.
Não esqueça de chamar super dentro do inherited.
Cuidado
Ao sobrescrever inherited, chame super, senão você pode quebrar classes pai que também dependem do gancho.
Sinônimos
callback de herança