Ruby · Essencial · Inglês · Técnico
include
Método que insere um módulo na cadeia de ancestrais de uma classe, deixando os métodos de instância do módulo disponíveis nos objetos dela. É o mecanismo dos mixins.
Onde usar
Aparece para compartilhar comportamento, como include Comparable. Os métodos do módulo ficam acima da classe na resolução, então a própria classe pode sobrescrevê-los.
Em código
module Saudavel
def oi = "oi, #{nome}"
end
class Pessoa
include Saudavel
def nome = "Ana"
end
puts Pessoa.new.oi # => oi, AnaExemplos
Include the module to get its methods.
Inclua o módulo para ganhar os métodos dele.
A class can include many modules.
Uma classe pode incluir vários módulos.
Cuidado
Não o confunda com require, que carrega um arquivo, nem com extend, que adiciona métodos ao próprio receptor, não às instâncias.
Antônimos
extend