Module: SolidusSupport::EngineExtensions::ClassMethods
- Defined in:
- lib/solidus_support/engine_extensions.rb
Instance Method Summary collapse
- #activate ⇒ Object
-
#load_solidus_decorators_from(path) ⇒ Object
Loads decorator files.
Instance Method Details
#activate ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/solidus_support/engine_extensions.rb', line 21 def activate if Rails.respond_to?(:autoloaders) && Rails.autoloaders.main # Add decorators folder to the Rails autoloader. This tells Zeitwerk to treat paths # such as app/decorators/controllers as roots. solidus_decorators_root.glob('*') do |decorators_folder| Rails.autoloaders.main.push_dir(decorators_folder) end end load_solidus_decorators_from(solidus_decorators_root) end |
#load_solidus_decorators_from(path) ⇒ Object
Loads decorator files.
This is needed since they are never explicitly referenced in the application code and won’t be loaded by default. We need them to be executed regardless in order to decorate existing classes.
38 39 40 41 42 |
# File 'lib/solidus_support/engine_extensions.rb', line 38 def load_solidus_decorators_from(path) path.glob('**/*.rb') do |decorator_path| require_dependency(decorator_path) end end |