Skip to content

Commit 82931ad

Browse files
committed
Delay loading ActiveRecord::Base for Rails
Reason: rails/rails#31285 In short: * when in Rails, let Rails load the models after it loads ActiveRecord itself * when not Rails, proceed as usual
1 parent ca442c9 commit 82931ad

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

ruby_event_store-active_record/lib/ruby_event_store/active_record.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
require_relative "active_record/generators/rails_event_id_index_migration_generator"
88
require_relative "active_record/generators/foreign_key_on_event_id_migration_generator"
99
require_relative "active_record/generators/rails_foreign_key_on_event_id_migration_generator"
10-
require_relative "active_record/event"
1110
require_relative "active_record/with_default_models"
1211
require_relative "active_record/with_abstract_base_class"
1312
require_relative "active_record/event_repository"
@@ -16,4 +15,8 @@
1615
require_relative "active_record/index_violation_detector"
1716
require_relative "active_record/pg_linearized_event_repository"
1817
require_relative "active_record/version"
19-
require_relative "active_record/railtie" if defined?(Rails::Engine)
18+
if defined?(Rails::Engine)
19+
require_relative "active_record/railtie"
20+
else
21+
require_relative "active_record/event"
22+
end

ruby_event_store-active_record/lib/ruby_event_store/active_record/railtie.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
module RubyEventStore
44
module ActiveRecord
5-
Railtie = Class.new(::Rails::Railtie)
5+
class Railtie < ::Rails::Railtie
6+
initializer "ruby_event_store-active_record" do
7+
ActiveSupport.on_load(:active_record) { require_relative "../active_record/event" }
8+
end
9+
end
610
end
711
end

0 commit comments

Comments
 (0)