diff options
-rw-r--r-- | lib/json/add/time.rb | 4 | ||||
-rwxr-xr-x | tests/test_json_addition.rb | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/json/add/time.rb b/lib/json/add/time.rb index abc807a..9755707 100644 --- a/lib/json/add/time.rb +++ b/lib/json/add/time.rb @@ -10,8 +10,8 @@ class Time if usec = object.delete('u') # used to be tv_usec -> tv_nsec object['n'] = usec * 1000 end - if respond_to?(:tv_nsec) - at(*object.values_at('s', 'n')) + if instance_methods.include?(:tv_nsec) + at(object['s'], Rational(object['n'], 1000)) else at(object['s'], object['n'] / 1000) end diff --git a/tests/test_json_addition.rb b/tests/test_json_addition.rb index b9cc6d1..49ff437 100755 --- a/tests/test_json_addition.rb +++ b/tests/test_json_addition.rb @@ -129,7 +129,7 @@ class TC_JSONAddition < Test::Unit::TestCase def test_core t = Time.now - assert_equal t.inspect, JSON(JSON(t)).inspect + assert_equal t, JSON(JSON(t)) d = Date.today assert_equal d, JSON(JSON(d)) d = DateTime.civil(2007, 6, 14, 14, 57, 10, Rational(1, 12), 2299161) |