Permalink
Browse files

Support retrieving TimeZones with a Duration. TimeZone[-28800] == Tim…

…eZone[-480.minutes]. [rick]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8746 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 859ca3a commit bd72d06374600cb20bbc85127ab8629dd1b2453c @technoweenie technoweenie committed Jan 29, 2008
View
@@ -1,5 +1,7 @@
*SVN*
+* Support retrieving TimeZones with a Duration. TimeZone[-28800] == TimeZone[-480.minutes]. [rick]
+
* TimeWithZone#- added, so that #- can handle a Time or TimeWithZone argument correctly [Geoff Buesing]
* with_timezone test helper renamed with_env_tz, to distinguish between setting ENV['TZ'] and setting Time.zone in tests [Geoff Buesing]
@@ -6,6 +6,7 @@ class TimeZone
"Hawaii" => "Pacific/Honolulu",
"Alaska" => "America/Juneau",
"Pacific Time (US & Canada)" => "America/Los_Angeles",
+ 'PST' => "America/Los_Angeles",
"Tijuana" => "America/Tijuana",
"Mountain Time (US & Canada)" => "America/Denver",
"Arizona" => "America/Phoenix",
@@ -247,7 +248,7 @@ def all
[[-39_600, "International Date Line West", "Midway Island", "Samoa" ],
[-36_000, "Hawaii" ],
[-32_400, "Alaska" ],
- [-28_800, "Pacific Time (US & Canada)", "Tijuana" ],
+ [-28_800, "Pacific Time (US & Canada)", 'PST', "Tijuana" ],
[-25_200, "Mountain Time (US & Canada)", "Chihuahua", "Mazatlan",
"Arizona" ],
[-21_600, "Central Time (US & Canada)", "Saskatchewan", "Guadalajara",
@@ -314,7 +315,7 @@ def [](arg)
when String
all # force the zones to be loaded
@@zones_map[arg]
- when Numeric
+ when Numeric, ActiveSupport::Duration
arg *= 3600 if arg.abs <= 13
all.find { |z| z.utc_offset == arg.to_i }
else
@@ -36,6 +36,14 @@ def test_period_for_local
end
end
+ def test_from_integer_to_map
+ assert_instance_of TimeZone, TimeZone[-28800] # PST
+ end
+
+ def test_from_duration_to_map
+ assert_instance_of TimeZone, TimeZone[-480.minutes] # PST
+ end
+
TimeZone.all.each do |zone|
name = zone.name.downcase.gsub(/[^a-z]/, '_')
define_method("test_from_#{name}_to_map") do

0 comments on commit bd72d06

Please sign in to comment.