summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/json/add/time.rb4
-rwxr-xr-xtests/test_json_addition.rb2
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)