lib/kithe/engine.rb in kithe-2.6.1 vs lib/kithe/engine.rb in kithe-2.7.0

- old
+ new

@@ -13,9 +13,28 @@ # not auto-loaded, let's just load it for backwards compat though require "kithe/config_base" module Kithe class Engine < ::Rails::Engine + + # Rails Single-table-inheritance auto-load workaround, further worked around + # for Rails 7. + # + # https://github.com/rails/rails/issues/46625 + # https://github.com/rails/rails/issues/45307 + # + # Descendants wont' be pre-loaded during initialization, but this is the best + # we can do. + initializer ("kithe.preload_single_table_inheritance") do + unless false && Rails.configuration.cache_classes && Rails.configuration.eager_load + Rails.configuration.to_prepare do + Kithe::Model.preload_sti unless Kithe::Model.preloaded + rescue ActiveRecord::NoDatabaseError, ActiveRecord::StatementInvalid => e + Rails.logger.debug("Could not pre-load Kithe::Models Single-Table Inheritance descendents: #{e.inspect}") + end + end + end + config.generators do |g| g.test_framework :rspec, :fixture => false g.fixture_replacement :factory_bot, :dir => 'spec/factories' g.assets false g.helper false