TimeZone#new renamed #local, so that new TimeWithZone instances can be created via Time.zone.local()

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8847 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Geoff Buesing
2008-02-10 17:02:22 +00:00
parent 2c8fb682cb
commit 94fa9fb745
5 changed files with 10 additions and 6 deletions

View File

@@ -1,5 +1,7 @@
*SVN*
* Base#instantiate_time_object uses Time.zone.local() [Geoff Buesing]
* Add timezone-aware attribute readers and writers. #10982 [Geoff Buesing]
* Instantiating time objects in multiparameter attributes uses Time.zone if available. #10982 [rick]

View File

@@ -2475,7 +2475,7 @@ module ActiveRecord #:nodoc:
# Includes an ugly hack for Time.local instead of Time.new because the latter is reserved by Time itself.
def instantiate_time_object(name, values)
if Time.zone && !self.class.skip_time_zone_conversion_for_attributes.include?(name.to_sym)
Time.zone.new(*values)
Time.zone.local(*values)
else
@@default_timezone == :utc ? Time.utc(*values) : Time.local(*values)
end

View File

@@ -1,5 +1,7 @@
*SVN*
* TimeZone#new method renamed #local; when used with Time.zone, constructor now reads: Time.zone.local() [Geoff Buesing]
* Added Base64.encode64s to encode values in base64 without the newlines. This makes the values immediately usable as URL parameters or memcache keys without further processing [DHH]
* Remove :nodoc: entries around the ActiveSupport test/unit assertions. #10946 [dancroak, jamesh]

View File

@@ -177,9 +177,9 @@ class TimeZone
# Method for creating new ActiveSupport::TimeWithZone instance in time zone of self. Example:
#
# Time.zone = "Hawaii" # => "Hawaii"
# Time.zone.new(2007, 2, 1, 15, 30, 45) # => Thu, 01 Feb 2007 15:30:45 HST -10:00
def new(*args)
# Time.zone = "Hawaii" # => "Hawaii"
# Time.zone.local(2007, 2, 1, 15, 30, 45) # => Thu, 01 Feb 2007 15:30:45 HST -10:00
def local(*args)
Time.utc_time(*args).change_time_zone(self)
end

View File

@@ -129,8 +129,8 @@ class TimeZoneTest < Test::Unit::TestCase
assert !TimeZone.us_zones.include?(TimeZone["Kuala Lumpur"])
end
def test_new
time = TimeZone["Hawaii"].new(2007, 2, 5, 15, 30, 45)
def test_local
time = TimeZone["Hawaii"].local(2007, 2, 5, 15, 30, 45)
assert_equal Time.utc(2007, 2, 5, 15, 30, 45), time.time
assert_equal TimeZone["Hawaii"], time.time_zone
end