From 4b2ac708b7666510d522fc706936d3c2ea5cbb80 Mon Sep 17 00:00:00 2001 From: Geoff Buesing Date: Fri, 25 Jan 2008 18:23:22 +0000 Subject: Adding UTC zone to TimeZone; TimeWithZone no longer has to fake UTC zone with nil git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8720 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activesupport/lib/active_support/time_with_zone.rb | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'activesupport/lib/active_support/time_with_zone.rb') diff --git a/activesupport/lib/active_support/time_with_zone.rb b/activesupport/lib/active_support/time_with_zone.rb index 648fa16f4e..e65c77a8b6 100644 --- a/activesupport/lib/active_support/time_with_zone.rb +++ b/activesupport/lib/active_support/time_with_zone.rb @@ -5,7 +5,7 @@ module ActiveSupport include Comparable attr_reader :time_zone - def initialize(utc_time, time_zone = nil, local_time = nil) + def initialize(utc_time, time_zone, local_time = nil) @utc = utc_time @time = local_time @time_zone = time_zone @@ -13,12 +13,12 @@ module ActiveSupport # Returns a Time instance that represents the time in time_zone def time - @time ||= utc? ? @utc : time_zone.utc_to_local(@utc) + @time ||= time_zone.utc_to_local(@utc) end # Returns a Time instance that represents the time in UTC def utc - @utc ||= utc? ? @time : time_zone.local_to_utc(@time) + @utc ||= time_zone.local_to_utc(@time) end alias_method :comparable_time, :utc @@ -53,16 +53,15 @@ module ActiveSupport end def dst? - utc? ? false : period.dst? + period.dst? end - # The TimeZone class has no zone for UTC, so this class uses the absence of a time zone to indicate UTC def utc? - !time_zone + time_zone.name == 'UTC' end def utc_offset - utc? ? 0 : period.utc_total_offset + period.utc_total_offset end def formatted_offset(colon = true, alternate_utc_string = nil) @@ -71,7 +70,7 @@ module ActiveSupport # Time uses #zone to display the time zone abbreviation, so we're duck-typing it def zone - utc? ? 'UTC' : period.abbreviation.to_s + period.abbreviation.to_s end def inspect -- cgit v1.2.3