Ruby · Essencial · Português · Técnico
módulo
Agrupador de métodos e constantes que não pode ser instanciado nem herdado. Serve como namespace e, com include ou extend, como fonte de comportamento reutilizável.
Onde usar
Em Ruby, módulos organizam nomes, como em Net::HTTP, e compartilham código entre classes sem herança. Aparecem quando duas classes sem relação precisam do mesmo comportamento.
Em código
module Saudacao
def oi = "Oi, #{name}!"
end
class Pessoa
include Saudacao
def name = 'Ana'
end
puts Pessoa.new.oi # => Oi, Ana!Exemplos
Extraí esse comportamento para um módulo e incluí nas duas classes.
O módulo serve de namespace para as classes da API.
Cuidado
Não confunda com classe: módulo não tem new e não pode ser superclasse.
Sinônimos
module