ExpertiDict

Ruby · Avançado · Inglês · Técnico

autoload

/ˈɔtoʊloʊd/método

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.gerar

Exemplos

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

Veja também

Todos os termos de Ruby