Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

utc_offset returns nil for unknown zones

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
  • Loading branch information...
commit a0cc94b32e5b4e4dce50787eed1208406f99ea82 1 parent e79193f
@spastorino spastorino authored jeremy committed
View
5 activesupport/lib/active_support/values/time_zone.rb
@@ -1,4 +1,5 @@
require 'active_support/core_ext/object/blank'
+require 'active_support/core_ext/object/try'
# The TimeZone class serves as a wrapper around TZInfo::Timezone instances. It allows us to do the following:
#
@@ -205,8 +206,8 @@ def utc_offset
if @utc_offset
@utc_offset
else
- @current_period ||= tzinfo.current_period
- @current_period.utc_offset
+ @current_period ||= tzinfo.try(:current_period)
+ @current_period.try(:utc_offset)
end
end
View
8 activesupport/test/time_zone_test.rb
@@ -274,9 +274,15 @@ def test_index
assert_raise(ArgumentError) { ActiveSupport::TimeZone[false] }
end
- def test_unknown_zone_shouldnt_have_tzinfo
+ def test_unknown_zone_shouldnt_have_tzinfo_nor_utc_offset
zone = ActiveSupport::TimeZone.create("bogus")
assert_nil zone.tzinfo
+ assert_nil zone.utc_offset
+ end
+
+ def test_unknown_zone_with_utc_offset
+ zone = ActiveSupport::TimeZone.create("bogus", -21_600)
+ assert_equal -21_600, zone.utc_offset
end
def test_new
Please sign in to comment.
Something went wrong with that request. Please try again.