diff options
author | José Valim and Mikel Lindsaar <pair@programming.com> | 2010-01-24 23:59:29 +0100 |
---|---|---|
committer | José Valim and Mikel Lindsaar <pair@programming.com> | 2010-01-24 23:59:29 +0100 |
commit | 90e9e46576c0a8d57887484cd4f3f51b3b6cce3a (patch) | |
tree | de254a8fd31ae36f8b9371c9f0e645c7ed1b727d /activesupport/lib | |
parent | 0ece244feec236f57fb2f55ea564409f25475923 (diff) | |
parent | 4e96442c4e404141830b2d7f0d850b6556190b39 (diff) | |
download | rails-90e9e46576c0a8d57887484cd4f3f51b3b6cce3a.tar.gz rails-90e9e46576c0a8d57887484cd4f3f51b3b6cce3a.tar.bz2 rails-90e9e46576c0a8d57887484cd4f3f51b3b6cce3a.zip |
Merge branch 'master' of github.com:mikel/rails
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/railtie.rb | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/railtie.rb b/activesupport/lib/active_support/railtie.rb new file mode 100644 index 0000000000..55608ac1c5 --- /dev/null +++ b/activesupport/lib/active_support/railtie.rb @@ -0,0 +1,60 @@ +require "active_support" +require "rails" + +module I18n + class Railtie < Rails::Railtie + railtie_name :i18n + + # Initialize I18n load paths to an array + config.i18n.load_path = [] + + initializer :initialize_i18n do + require 'active_support/i18n' + + ActionDispatch::Callbacks.to_prepare do + I18n.reload! + end + end + + # Set the i18n configuration from config.i18n but special-case for + # the load_path which should be appended to what's already set instead of overwritten. + config.after_initialize do |app| + app.config.i18n.each do |setting, value| + if setting == :load_path + I18n.load_path += value + else + I18n.send("#{setting}=", value) + end + end + + I18n.reload! + end + end +end + +module ActiveSupport + class Railtie < Rails::Railtie + railtie_name :active_support + + # Loads support for "whiny nil" (noisy warnings when methods are invoked + # on +nil+ values) if Configuration#whiny_nils is true. + initializer :initialize_whiny_nils do |app| + require 'active_support/whiny_nil' if app.config.whiny_nils + end + + # Sets the default value for Time.zone + # If assigned value cannot be matched to a TimeZone, an exception will be raised. + initializer :initialize_time_zone do |app| + require 'active_support/core_ext/time/zones' + zone_default = Time.__send__(:get_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 + end +end
\ No newline at end of file |