у меня рельсы 3 двигателя. В инициализаторе требуется куча файлов из какой-то папки.
В этом файле пользователь моего движка определяет код, бизнес-логику, настраивает движок и т. Д.
Все эти данные хранятся статически в главном модуле моего движка (в атрибуте приложения)
module MyEngine
class << self
def application
@application ||= MyEngine::Application.new
end
end
end
Я хочу, чтобы эти файлы перезагружались при каждом запросе в режиме разработки.
(Чтобы пользователю не приходилось перезагружать сервер, чтобы увидеть изменения, которые он только что сделал)
Конечно, я могу сделать что-то подобное вместо инициализатора
config.to_prepare do
MyEngine.application.clear!
load('some/file')
end
Но в этом случае у меня будут проблемы (потому что константы, определенные в этом файле, действительно не будут перезагружаться).
Идеальным решением было бы сделать так, чтобы весь мой двигатель мог перезагружаться при каждом запросе, но я не нашел способа сделать это.