From eb8a87e0a429b8b57a570066de8bf0d0b4953c5c Mon Sep 17 00:00:00 2001 From: Martin Meyerhoff Date: Wed, 20 Nov 2024 09:37:26 +0100 Subject: [PATCH] Zeitwerk: Use `#load` over `#require_dependency` for decorators According to the Rails Guide for Engines, in order to change functionality in an Engine at runtime, we should be using `load`. `require_dependency` is outdated. Here's the Rails guide from version 6.1, which is the last one that has `require_dependency` (only for the "classic" autoloading mode. https://guides.rubyonrails.org/v6.1/engines.html#overriding-models-and-controllers --- lib/solidus_support/engine_extensions.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/solidus_support/engine_extensions.rb b/lib/solidus_support/engine_extensions.rb index c5cb186..ea1a5bc 100644 --- a/lib/solidus_support/engine_extensions.rb +++ b/lib/solidus_support/engine_extensions.rb @@ -53,7 +53,7 @@ def load_solidus_subscribers_from(path) # existing classes. def load_solidus_decorators_from(path) path.glob('**/*.rb') do |decorator_path| - require_dependency(decorator_path) + load(decorator_path) end end