From ce3d79ef66076b3047b5d7891ed9edd55b25ca2f Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Mon, 12 May 2025 17:34:08 -0700 Subject: [PATCH] Only reload if cache_classes is disabled and reload_classes_only_on_change disabled https://guides.rubyonrails.org/configuring.html#config-reload-classes-only-on-change states: >>> 3.2.30 config.reload_classes_only_on_change Enables or disables reloading of classes only when tracked files change. By default tracks everything on autoload paths and is set to true. If config.cache_classes is true, this option is ignored. >>> It was surprising to us that even though `cache_classes` were set to true that factory_bot_rails still instantiated file watchers. --- lib/factory_bot_rails/railtie.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/factory_bot_rails/railtie.rb b/lib/factory_bot_rails/railtie.rb index 2b12237..064786e 100644 --- a/lib/factory_bot_rails/railtie.rb +++ b/lib/factory_bot_rails/railtie.rb @@ -40,7 +40,7 @@ class Railtie < Rails::Railtie config.after_initialize do |app| FactoryBot.find_definitions - Reloader.new(app).run + Reloader.new(app).run if !app.config.cache_classes && app.config.reload_classes_only_on_change app.config.factory_bot.validator.run end