Skip to content

Commit 51c3c42

Browse files
committed
Push decorators to autoload path using config.autoload_paths
This ensures that decorators are being correctly reloaded when some code in the application changes.
1 parent 0da89c0 commit 51c3c42

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

lib/solidus_support/engine_extensions.rb

+4-8
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ def self.included(engine)
99
engine.extend ClassMethods
1010

1111
engine.class_eval do
12+
solidus_decorators_root.glob('*') do |decorators_folder|
13+
config.autoload_paths += [decorators_folder]
14+
end
15+
1216
config.to_prepare(&method(:activate))
1317

1418
enable_solidus_engine_support('backend') if SolidusSupport.backend_available?
@@ -19,14 +23,6 @@ def self.included(engine)
1923

2024
module ClassMethods
2125
def activate
22-
if Rails.respond_to?(:autoloaders) && Rails.autoloaders.main
23-
# Add decorators folder to the Rails autoloader. This tells Zeitwerk to treat paths
24-
# such as app/decorators/controllers as roots.
25-
solidus_decorators_root.glob('*') do |decorators_folder|
26-
Rails.autoloaders.main.push_dir(decorators_folder)
27-
end
28-
end
29-
3026
load_solidus_decorators_from(solidus_decorators_root)
3127
end
3228

0 commit comments

Comments
 (0)