diff options
author | Geoff Buesing <gbuesing@gmail.com> | 2008-03-28 01:45:04 +0000 |
---|---|---|
committer | Geoff Buesing <gbuesing@gmail.com> | 2008-03-28 01:45:04 +0000 |
commit | 480a7581d4ec87eb745b004d6e4daae98b52cfa5 (patch) | |
tree | f443e7c30fe41be65940c9119ce0cd24021d2baf /railties/lib | |
parent | d8823d6fb7605788e6d61b3d5f67c0c7302527aa (diff) | |
download | rails-480a7581d4ec87eb745b004d6e4daae98b52cfa5.tar.gz rails-480a7581d4ec87eb745b004d6e4daae98b52cfa5.tar.bz2 rails-480a7581d4ec87eb745b004d6e4daae98b52cfa5.zip |
Rails::Initializer#initialize_time_zone raises an error if value assigned to config.time_zone is not recognized. Rake time zone tasks only require ActiveSupport instead of entire environment
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9104 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties/lib')
-rw-r--r-- | railties/lib/initializer.rb | 8 | ||||
-rw-r--r-- | railties/lib/tasks/misc.rake | 7 |
2 files changed, 11 insertions, 4 deletions
diff --git a/railties/lib/initializer.rb b/railties/lib/initializer.rb index 4a536e0483..9909e6e45e 100644 --- a/railties/lib/initializer.rb +++ b/railties/lib/initializer.rb @@ -349,9 +349,15 @@ module Rails end end + # Sets the default value for Time.zone, and turns on ActiveRecord time_zone_aware_attributes. + # If assigned value cannot be matched to a TimeZone, an exception will be raised. def initialize_time_zone if configuration.time_zone - Time.zone_default = TimeZone[configuration.time_zone] + zone_default = TimeZone[configuration.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 if configuration.frameworks.include?(:active_record) ActiveRecord::Base.time_zone_aware_attributes = true ActiveRecord::Base.default_timezone = :utc diff --git a/railties/lib/tasks/misc.rake b/railties/lib/tasks/misc.rake index fcd860ae16..d083a8aef4 100644 --- a/railties/lib/tasks/misc.rake +++ b/railties/lib/tasks/misc.rake @@ -9,20 +9,21 @@ task :secret do puts Rails::SecretKeyGenerator.new(ENV['ID']).generate_secret end +require 'active_support' namespace :time do namespace :zones do desc 'Displays names of all time zones recognized by the Rails TimeZone class, grouped by offset. Results can be filtered with optional OFFSET parameter, e.g., OFFSET=-6' - task :all => :environment do + task :all do build_time_zone_list(:all) end desc 'Displays names of US time zones recognized by the Rails TimeZone class, grouped by offset. Results can be filtered with optional OFFSET parameter, e.g., OFFSET=-6' - task :us => :environment do + task :us do build_time_zone_list(:us_zones) end desc 'Displays names of time zones recognized by the Rails TimeZone class with the same offset as the system local time' - task :local => :environment do + task :local do build_time_zone_list(:all, Time.now.beginning_of_year.utc_offset) end |