Skip to content

Commit 8a18af8

Browse files
authored
Use ActiveSupport.on_load for initialization (#118)
Defer the inclusion until after ActiveRecord has been fully loaded, improving booting performance and following Rails best practices (#118)
1 parent 77acefd commit 8a18af8

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

lib/rails-settings.rb

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@
33
require 'rails-settings/base'
44
require 'rails-settings/scopes'
55

6-
ActiveRecord::Base.class_eval do
7-
def self.has_settings(*args, &block)
8-
RailsSettings::Configuration.new(*args.unshift(self), &block)
6+
ActiveSupport.on_load(:active_record) do
7+
ActiveRecord::Base.class_eval do
8+
def self.has_settings(*args, &block)
9+
RailsSettings::Configuration.new(*args.unshift(self), &block)
910

10-
include RailsSettings::Base
11-
extend RailsSettings::Scopes
11+
include RailsSettings::Base
12+
extend RailsSettings::Scopes
13+
end
1214
end
13-
end
15+
end

0 commit comments

Comments
 (0)