diff --git a/lib/ebay.rb b/lib/ebay.rb index 4d678834..c9e91385 100644 --- a/lib/ebay.rb +++ b/lib/ebay.rb @@ -16,6 +16,9 @@ require 'active_support' require 'active_support/core_ext' +require 'active_support/time_with_zone' + +Time.zone_default = Time.find_zone!('UTC') # Include the additional XML::Mapping node types require 'support/xml_mapping' diff --git a/lib/support/xml_mapping/date_time_node.rb b/lib/support/xml_mapping/date_time_node.rb index e0c19379..b2795152 100644 --- a/lib/support/xml_mapping/date_time_node.rb +++ b/lib/support/xml_mapping/date_time_node.rb @@ -5,7 +5,7 @@ def initialize_impl(path) @path = XML::XXPath.new(path) end def extract_attr_value(xml) # :nodoc: - Time.parse(default_when_xpath_err{ @path.first(xml).text }) + Time.zone.parse(default_when_xpath_err{ @path.first(xml).text }) end def set_attr_value(xml, value) # :nodoc: raise "Not a Time object: #{value}" unless value.is_a?(Time) diff --git a/lib/support/xml_mapping/time_node.rb b/lib/support/xml_mapping/time_node.rb index b82263a1..15f76344 100644 --- a/lib/support/xml_mapping/time_node.rb +++ b/lib/support/xml_mapping/time_node.rb @@ -5,7 +5,7 @@ def initialize_impl(path) @path = XML::XXPath.new(path) end def extract_attr_value(xml) # :nodoc: - Time.parse(default_when_xpath_err{ @path.first(xml).text }) + Time.zone.parse(default_when_xpath_err{ @path.first(xml).text }) end def set_attr_value(xml, value) # :nodoc: raise "Not a Time object: #{value}" unless value.is_a?(Time) diff --git a/test/unit/ebay_test.rb b/test/unit/ebay_test.rb index 2fefd5cb..f173bff4 100644 --- a/test/unit/ebay_test.rb +++ b/test/unit/ebay_test.rb @@ -64,7 +64,7 @@ def test_header_uses_overridden_site_id def test_override_auth_token ebay = Api.new(:auth_token => 'OVERRIDE') - assert_equal 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', Api.auth_token + assert_equal 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', Api.auth_token assert_equal 'OVERRIDE', ebay.auth_token end @@ -79,14 +79,14 @@ def test_successful_request Ebay::HttpMock.respond_with(@success) response = @ebay.get_ebay_official_time assert response.success? - assert_equal Time.parse('2006-07-05T14:23:03.399Z'), response.timestamp + assert_equal Time.zone.parse('2006-07-05T14:23:03.399Z'), response.timestamp end def test_request_with_block Ebay::HttpMock.respond_with(@success) response = @ebay.get_ebay_official_time{ } assert response.success? - assert_equal Time.parse('2006-07-05T14:23:03.399Z'), response.timestamp + assert_equal Time.zone.parse('2006-07-05T14:23:03.399Z'), response.timestamp end def test_raise_on_error_with_errors diff --git a/test/unit/xml_mapping_date_time_node_test.rb b/test/unit/xml_mapping_date_time_node_test.rb index 6688322e..d69f0dc6 100644 --- a/test/unit/xml_mapping_date_time_node_test.rb +++ b/test/unit/xml_mapping_date_time_node_test.rb @@ -6,7 +6,7 @@ class Widget end class DateTimeNodeTest < Test::Unit::TestCase - + def setup @xml = <<-END @@ -18,13 +18,13 @@ def setup def test_load_from_xml item = Widget.load_from_xml(REXML::Document.new(@xml).root) - assert_instance_of Time, item.shipped_on - assert_equal Time.parse('2006-07-21T21:52:37.000Z'), item.shipped_on - end + assert_instance_of ActiveSupport::TimeWithZone, item.shipped_on + assert_equal Time.zone.parse('2006-07-21T21:52:37.000Z'), item.shipped_on + end def test_save_to_xml widget = Widget.new - widget.shipped_on = Time.parse('2006-07-21T21:52:37.000Z') + widget.shipped_on = Time.zone.parse('2006-07-21T21:52:37.000Z') assert_equal '2006-07-21 21:52:37', widget.save_to_xml.to_s end @@ -34,4 +34,3 @@ def test_set_with_non_time_object assert_raise(RuntimeError){ widget.save_to_xml } end end - diff --git a/test/unit/xml_mapping_test.rb b/test/unit/xml_mapping_test.rb index ccccb5bb..a64d2207 100644 --- a/test/unit/xml_mapping_test.rb +++ b/test/unit/xml_mapping_test.rb @@ -19,10 +19,9 @@ def assert_valid_abstract_response(response) ack = 'Success' version = '467' build = 'e467_core_Bundled_3145691_R1' - assert_equal Time.parse(timestamp), response.timestamp + assert_equal Time.zone.parse(timestamp), response.timestamp assert_equal ack, response.ack assert_equal version, response.version assert_equal build, response.build end end - diff --git a/test/unit/xml_mapping_time_node_test.rb b/test/unit/xml_mapping_time_node_test.rb index 4843d22b..92fe5c9a 100644 --- a/test/unit/xml_mapping_time_node_test.rb +++ b/test/unit/xml_mapping_time_node_test.rb @@ -18,13 +18,13 @@ def setup def test_load_from_xml item = Widget.load_from_xml(REXML::Document.new(@xml).root) - assert_instance_of Time, item.opening_time - assert_equal Time.parse('T21:52:37.000Z'), item.opening_time - end + assert_instance_of ActiveSupport::TimeWithZone, item.opening_time + assert_equal Time.zone.parse('T21:52:37.000Z'), item.opening_time + end def test_save_to_xml widget = Widget.new - widget.opening_time = Time.parse('T21:52:37.000Z') + widget.opening_time = Time.zone.parse('T21:52:37.000Z') assert_equal '21:52:37', widget.save_to_xml.to_s end @@ -34,4 +34,3 @@ def test_set_with_non_time_object assert_raise(RuntimeError){ widget.save_to_xml } end end -