Ruby · Avançado · Inglês · Técnico
autoload
Método de Module que registra uma constante para ser carregada sob demanda: o arquivo só é lido quando ela é usada pela primeira vez. Base do Zeitwerk, no Rails.
Onde usar
Aparece em bibliotecas grandes que reduzem o tempo de boot e no Rails, onde o Zeitwerk usa autoload para carregar classes de app/ pelo nome do arquivo.
Em código
module Relatorios
autoload :Pdf, "relatorios/pdf"
autoload :Csv, "relatorios/csv"
end
# relatorios/pdf.rb só é lido aqui:
Relatorios::Pdf.gerarExemplos
Use autoload on the report classes to speed up boot.
Use autoload nas classes de relatório para acelerar o boot.
Zeitwerk is built on top of autoload.
O Zeitwerk é construído sobre o autoload.
Cuidado
Não o confunda com require, que carrega na hora; em produção costuma-se fazer eager load para evitar surpresas de carregamento tardio com threads.
Sinônimos
carregamento sob demanda
Antônimos
require