mirror of
https://github.com/discourse/discourse.git
synced 2024-12-03 22:46:45 +08:00
e10a74694a
Get rid of deprecation related to Zeitwerk autoloader. Original PR was reverted because of multisite bug #12381 - thank you @davidtaylorhq for fixing it. I added the last commit to fix that multisite problem.
42 lines
1.1 KiB
Ruby
42 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# load up git version into memory
|
|
# this way if it changes underneath we still have
|
|
# the original version
|
|
Discourse.git_version
|
|
|
|
if GlobalSetting.skip_redis?
|
|
# Requiring this file explicitly prevents it from being autoloaded and so the
|
|
# provider attribute is not cleared
|
|
require File.expand_path('../../../app/models/site_setting', __FILE__)
|
|
|
|
require 'site_settings/local_process_provider'
|
|
Rails.cache = Discourse.cache
|
|
SiteSetting.provider = SiteSettings::LocalProcessProvider.new
|
|
return
|
|
end
|
|
|
|
Rails.application.reloader.to_prepare do
|
|
reload_settings = lambda {
|
|
RailsMultisite::ConnectionManagement.safe_each_connection do
|
|
begin
|
|
SiteSetting.refresh!
|
|
|
|
unless String === SiteSetting.push_api_secret_key && SiteSetting.push_api_secret_key.length == 32
|
|
SiteSetting.push_api_secret_key = SecureRandom.hex
|
|
end
|
|
rescue ActiveRecord::StatementInvalid
|
|
# This will happen when migrating a new database
|
|
end
|
|
end
|
|
}
|
|
|
|
reload_settings.call
|
|
|
|
if !Rails.configuration.cache_classes
|
|
ActiveSupport::Reloader.to_prepare do
|
|
reload_settings.call
|
|
end
|
|
end
|
|
end
|