mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
2801786e1a
The new option allows any Ruby namespace to be registered and set up for eager load. We are effectively exposing the structure existing in Rails since v3.0 for all developers in order to make their applications thread-safe and CoW friendly.
37 lines
1.2 KiB
Ruby
37 lines
1.2 KiB
Ruby
require "active_support"
|
|
require "active_support/i18n_railtie"
|
|
|
|
module ActiveSupport
|
|
class Railtie < Rails::Railtie
|
|
config.active_support = ActiveSupport::OrderedOptions.new
|
|
|
|
config.eager_load_namespaces << ActiveSupport
|
|
|
|
initializer "active_support.deprecation_behavior" do |app|
|
|
if deprecation = app.config.active_support.deprecation
|
|
ActiveSupport::Deprecation.behavior = deprecation
|
|
end
|
|
end
|
|
|
|
# Sets the default value for Time.zone
|
|
# If assigned value cannot be matched to a TimeZone, an exception will be raised.
|
|
initializer "active_support.initialize_time_zone" do |app|
|
|
require 'active_support/core_ext/time/zones'
|
|
zone_default = Time.find_zone!(app.config.time_zone)
|
|
|
|
unless zone_default
|
|
raise 'Value assigned to config.time_zone not recognized. ' \
|
|
'Run "rake -D time" for a list of tasks for finding appropriate time zone names.'
|
|
end
|
|
|
|
Time.zone_default = zone_default
|
|
end
|
|
|
|
initializer "active_support.set_configs" do |app|
|
|
app.config.active_support.each do |k, v|
|
|
k = "#{k}="
|
|
ActiveSupport.send(k, v) if ActiveSupport.respond_to? k
|
|
end
|
|
end
|
|
end
|
|
end
|