diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-12-28 22:29:11 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-12-28 22:29:11 +0000 |
commit | 4a481ad400a88e704d07c68aa8112c2a28bdf2c9 (patch) | |
tree | f0d67488a812a3c77be765c08484368bacf79e52 /ext/json/lib/json/add | |
parent | 5547719573c6b37566480eaadf0c17bd0c5529bd (diff) |
* ext/json, test/json: merge JSON HEAD(17fe8e7)
https://github.com/flori/json/compare/v1.8.1...17fe8e7
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/json/lib/json/add')
-rw-r--r-- | ext/json/lib/json/add/complex.rb | 8 | ||||
-rw-r--r-- | ext/json/lib/json/add/rational.rb | 5 | ||||
-rw-r--r-- | ext/json/lib/json/add/time.rb | 2 |
3 files changed, 13 insertions, 2 deletions
diff --git a/ext/json/lib/json/add/complex.rb b/ext/json/lib/json/add/complex.rb index d7ebebf5f7..2723f60103 100644 --- a/ext/json/lib/json/add/complex.rb +++ b/ext/json/lib/json/add/complex.rb @@ -4,10 +4,15 @@ end defined?(::Complex) or require 'complex' class Complex + + # Deserializes JSON string by converting Real value <tt>r</tt>, imaginary + # value <tt>i</tt>, to a Complex object. def self.json_create(object) Complex(object['r'], object['i']) end + # Returns a hash, that will be turned into a JSON object and represent this + # object. def as_json(*) { JSON.create_id => self.class.name, @@ -16,7 +21,8 @@ class Complex } end + # Stores class name (Complex) along with real value <tt>r</tt> and imaginary value <tt>i</tt> as JSON string def to_json(*) as_json.to_json end -end +end
\ No newline at end of file diff --git a/ext/json/lib/json/add/rational.rb b/ext/json/lib/json/add/rational.rb index 867cd92f05..ee39c20e8d 100644 --- a/ext/json/lib/json/add/rational.rb +++ b/ext/json/lib/json/add/rational.rb @@ -4,10 +4,14 @@ end defined?(::Rational) or require 'rational' class Rational + # Deserializes JSON string by converting numerator value <tt>n</tt>, + # denominator value <tt>d</tt>, to a Rational object. def self.json_create(object) Rational(object['n'], object['d']) end + # Returns a hash, that will be turned into a JSON object and represent this + # object. def as_json(*) { JSON.create_id => self.class.name, @@ -16,6 +20,7 @@ class Rational } end + # Stores class name (Rational) along with numerator value <tt>n</tt> and denominator value <tt>d</tt> as JSON string def to_json(*) as_json.to_json end diff --git a/ext/json/lib/json/add/time.rb b/ext/json/lib/json/add/time.rb index 338209d899..d9834677ac 100644 --- a/ext/json/lib/json/add/time.rb +++ b/ext/json/lib/json/add/time.rb @@ -10,7 +10,7 @@ class Time if usec = object.delete('u') # used to be tv_usec -> tv_nsec object['n'] = usec * 1000 end - if instance_methods.include?(:tv_nsec) + if method_defined?(:tv_nsec) at(object['s'], Rational(object['n'], 1000)) else at(object['s'], object['n'] / 1000) |