Isso descreve uma propriedade central do Rails, que não é específica do Discourse.
No Rails, todos os inicializadores são carregados apenas quando o Rails inicia, então qualquer plugin que execute código com base no inicializador, como “after_initializer”, será executado apenas na inicialização ou reinicialização do Rails (por favor, me corrija se estiver errado).
A razão pela qual estou familiarizado com isso é que estou atualmente construindo uma aplicação Rails para um cliente e escrevi muitos inicializadores para várias tarefas (booleans, arrays estáticos, etc.). Em cada caso, se alterarmos qualquer código em um inicializador do Rails, é necessário reiniciar o Rails (“Control c, rails s no dev”) para que os novos valores nos inicializadores sejam carregados na aplicação Rails.
Por favor, me corrijam se eu estiver errado! Obrigado.
Às vezes, acho que pode ser um pouco confuso para alguns desenvolvedores de plugins do Discourse, especialmente aqueles que trabalham principalmente com plugins do Discourse e não com aplicações Rails em geral, quando escrevemos “O Discourse faz isso” ou “O Discourse faz aquilo”, quando o que realmente estamos descrevendo é uma função ou propriedade central do Rails, não necessariamente específica do Discourse.
O Rails 6 lê todos os arquivos no diretório config/initializers (e todos os subdiretórios config/initializers) apenas quando o Rails inicia. Da mesma forma (não tenho 100% de certeza sobre plugins), um plugin do Discourse com código dependente de after_initialize será (por favor, confirme alguém?) carregado pela aplicação Rails apenas quando o Rails iniciar ou reiniciar, pois essa é uma propriedade fundamental do processo de inicialização do Rails.
Minha suposição é que todos aqui que trabalham com Rails já sabem disso. Estou apenas começando a conhecer esses detalhes (e sinto que tenho um longo caminho a percorrer para me tornar um especialista); porque estou trabalhando em uma aplicação Rails todos os dias (nestes dias), o que, a propósito, agora gostaria de ter começado a trabalhar com Rails há uma década, pois vindo de uma experiência com desenvolvimento LAMP, acho o Rails muito melhor (fácil e divertido de trabalhar).
Tornei-me um grande fã do Rails este ano e sou muito grato ao Discourse por me colocar nesse caminho.
Novamente, por favor, me corrijam se eu estiver errado! Obrigado. Estou tentando me tornar mais especialista em Rails.