提交 82930af1 编写于 作者: G George Claghorn

Merge pull request #32100 from eugeneius/active_storage_lazy_load_hook

Use lazy load hook to configure ActiveStorage::Blob
上级 30b5f469
......@@ -202,4 +202,6 @@ def extract_content_type(io)
def forcibly_serve_as_binary?
ActiveStorage.content_types_to_serve_as_binary.include?(content_type)
end
ActiveSupport.run_load_hooks(:active_storage_blob, self)
end
......@@ -68,7 +68,7 @@ class Engine < Rails::Engine # :nodoc:
end
initializer "active_storage.services" do
config.to_prepare do
ActiveSupport.on_load(:active_storage_blob) do
if config_choice = Rails.configuration.active_storage.service
configs = Rails.configuration.active_storage.service_configurations ||= begin
config_file = Pathname.new(Rails.root.join("config/storage.yml"))
......
......@@ -359,6 +359,18 @@ def test_initialize_can_be_called_at_any_time
assert_predicate Rails.application, :initialized?
end
test "frameworks aren't loaded during initialization" do
app_file "config/initializers/raise_when_frameworks_load.rb", <<-RUBY
%i(action_controller action_mailer active_job active_record).each do |framework|
ActiveSupport.on_load(framework) { raise "\#{framework} loaded!" }
end
RUBY
assert_nothing_raised do
require "#{app_path}/config/environment"
end
end
private
def setup_ar!
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册