ExpertiDict

Ruby · Essencial · Inglês · Técnico

extend

/ɪkˈstɛnd/método

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  # => 42

Exemplos

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

Veja também

Todos os termos de Ruby