Plugins de Discourse y pregunta de configuración de Rails 6 config/initializers

Esto describe una propiedad fundamental de Rails, que no es específica de Discourse.

En Rails, todos los inicializadores se cargan únicamente cuando Rails se inicia, por lo que cualquier plugin que ejecute código basado en un inicializador, como “after_initializer”, solo se ejecutará al iniciar o reiniciar Rails (por favor, corríjanme si estoy equivocado).

La razón por la que estoy familiarizado con esto es que actualmente estoy construyendo una aplicación Rails para un cliente y he escrito muchos inicializadores para diversas tareas (valores booleanos, arreglos estáticos, etc.). En cada caso, si cambiamos cualquier código en un inicializador de Rails, es necesario reiniciar Rails (“Control c, rails s en dev”) para que los nuevos valores de los inicializadores se reflejen en la aplicación Rails.

¡Por favor, corríjanme si estoy equivocado! Gracias.

A veces, creo que podría resultar un poco confuso para algunos desarrolladores de plugins de Discourse, especialmente aquellos que trabajan principalmente en plugins de Discourse y no en aplicaciones Rails en general, cuando escribimos “Discourse hace esto” o “Discourse hace aquello”, cuando en realidad estamos describiendo una función o propiedad fundamental de Rails que no es necesariamente específica de Discourse, en sí misma.

Rails 6 lee todos los archivos del directorio config/initializers (y todos los subdirectorios de config/initializers) únicamente cuando Rails se inicia. De manera similar (no estoy 100% seguro con los plugins), un plugin de Discourse con código dependiente de after_initialize será (por favor, confírmelo cualquiera) cargado por la aplicación Rails solo cuando Rails se inicia o reinicia, porque esta es una propiedad fundamental del proceso de arranque de Rails.

Supongo que todos aquí que trabajan con Rails ya lo saben. Solo yo estoy empezando a conocer estos detalles (y siento que tengo un largo camino por recorrer para ser un experto); porque actualmente estoy trabajando todos los días en una aplicación Rails (en estos días), la cual, por cierto, ahora desearía haber empezado a trabajar con Rails hace una década, ya que provengo de un entorno de desarrollo LAMP y encuentro que Rails es mucho mejor (fácil y divertido de trabajar).

Me he convertido en un gran fan de Rails este año y estoy muy agradecido con Discourse por haberme iniciado en ese camino.

De nuevo, ¡por favor, corríjanme si estoy equivocado! Gracias. Estoy tratando de ser más experto en Rails.