Ruby · Essencial · Inglês · Técnico
extend
Método que adiciona os métodos de um módulo como métodos singleton do objeto que o recebe. Em uma classe, eles viram métodos de classe.
Onde usar
Aparece em extend Forwardable, extend ActiveSupport::Concern e para dar comportamento extra a um único objeto em tempo de execução.
Em código
module Contavel
def total = 42
end
class Item; extend Contavel; end
p Item.total # => 42
o = Object.new.extend(Contavel)
p o.total # => 42Exemplos
Extend the class with the module to get class methods.
Estenda a classe com o módulo para ganhar métodos de classe.
You can extend a single object at runtime.
Dá para estender um único objeto em tempo de execução.
Cuidado
Não confunda com include: extend afeta o receptor (a classe em si), enquanto include afeta as instâncias da classe.
Antônimos
include