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

Hola @fzngagan, definitivamente no soy un “rubyista” y tengo mucha menos experiencia con Rails que la mayoría de los desarrolladores de complementos de Discourse; pero dicho esto: quizás en el futuro puedas arreglártelas con algo como esto si necesitas recargar archivos en tu complemento sin reiniciar la aplicación en producción (o desarrollo):

after_initialize do

  # cambia lo siguiente por tu controlador de preferencia
  # o usa el controlador de la aplicación si lo necesitas

  ApplicationController.class_eval do
    before_action :do_my_stuff

    def do_my_stuff
      load File.open(FAIZAANS_FAV_FILE)
    end
  end
end

Esto recargará los archivos como se espera.

Actualmente estoy usando esto en un complemento de la siguiente manera, y funciona como se espera:

after_initialize do

  Admin::AdminController.class_eval do
    before_action :do_neo_plugin_info

    def do_neo_plugin_info
      load File.open(PLUGIN_LOGIC)
    end
  end
end

Actualmente estoy usando este código en un complemento en el que he estado trabajando de vez en cuando, el cual muestra los nombres de los contenedores que se解析an de ENV["DATA_NAME"] y también el espacio en disco解析ado de algún código del sistema usando df y grep.

En nuestras vistas de administración:

Como mencioné, no soy un rubyista en absoluto; pero este método funciona para mí.

Revisé el código del complemento en instance.rb y después de varios intentos y errores, decidí optar por el código class_eval de arriba. Puede que no sea la forma preferida de hacerlo, pero definitivamente funciona para mí.

Por ejemplo, si recargo la página después de eliminar muchas copias de seguridad de Discourse, el indicador de espacio en disco cambia como se espera.