Permalink
Browse files

Adding alternate_utc_string option to TimeZone#formatted_offset. Remo…

…ving unneeded TimeZone#offset

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8697 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 022d9f7 commit 2e7b2f03448e5759113ce0c182ed99897342c7a9 @gbuesing gbuesing committed Jan 23, 2008
View
@@ -1,5 +1,7 @@
*SVN*
+* Adding alternate_utc_string option to TimeZone#formatted_offset. Removing unneeded TimeZone#offset. [Geoff Buesing]
+
* Introduce ActiveSupport::TimeWithZone, for wrapping Time instances with a TimeZone. Introduce instance methods to Time for creating TimeWithZone instances, and class methods for managing a global time zone. [Geoff Buesing]
* Replace non-dst-aware TimeZone class with dst-aware class from tzinfo_timezone plugin. TimeZone#adjust and #unadjust are no longer available; tzinfo gem must now be present in order to perform time zone calculations, via #local_to_utc and #utc_to_local methods. [Geoff Buesing]
@@ -155,18 +155,10 @@ def initialize(name, utc_offset)
@utc_offset = utc_offset
end
- # Returns the offset of this time zone as a formatted string, of the
- # format "+HH:MM". If the offset is zero, this returns the empty
- # string. If +colon+ is false, a colon will not be inserted into the
- # result.
- def formatted_offset(colon=true)
- utc_offset == 0 ? '' : offset(colon)
- end
-
# Returns the offset of this time zone as a formatted string, of the
# format "+HH:MM".
- def offset(colon=true)
- utc_offset.to_utc_offset_s(colon)
+ def formatted_offset(colon=true, alternate_utc_string = nil)
+ utc_offset == 0 && alternate_utc_string || utc_offset.to_utc_offset_s(colon)
end
# Compare this time zone to the parameter. The two are comapred first on
@@ -77,6 +77,12 @@ def test_formatted_offset_negative
assert_equal "-0500", zone.formatted_offset(false)
end
+ def test_formatted_offset_zero
+ zone = TimeZone['London']
+ assert_equal "+00:00", zone.formatted_offset
+ assert_equal "UTC", zone.formatted_offset(true, 'UTC')
+ end
+
def test_zone_compare
zone1 = TimeZone['Central Time (US & Canada)'] # offset -0600
zone2 = TimeZone['Eastern Time (US & Canada)'] # offset -0500

0 comments on commit 2e7b2f0

Please sign in to comment.