Class: SpreeLoyalty::Engine

Inherits:
Rails::Engine
  • Object
show all
Defined in:
lib/spree_loyalty/engine.rb

Class Method Summary collapse

Class Method Details

.activateObject

Force-loads decorator files the same way spree_square/spree_doordash's engines do — Zeitwerk's lazy autoloading never triggers a decorator file's prepend line on its own (nothing references the exact Spree::XyzDecorator constant name), so each engine has to eager-load its own app/ tree explicitly. See spree_square/lib/spree_square/engine.rb for the full rationale.



26
27
28
29
30
# File 'lib/spree_loyalty/engine.rb', line 26

def self.activate
  Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
    Rails.application.config.cache_classes ? require(c) : load(c)
  end
end