diff options
author | Florian Frank <flori@ping.de> | 2015-01-02 23:55:20 +0100 |
---|---|---|
committer | Florian Frank <flori@ping.de> | 2015-01-02 23:55:20 +0100 |
commit | 9b4302c7d59cc83e9b4733da9da26df569e0d278 (patch) | |
tree | 09cf604c6e7df08c956f850aecb1093986cd08fa /lib | |
parent | 05ba45c2d46c8ff4807613b60b204f85a7720997 (diff) | |
parent | 737bb637c7accfb1a704bc15560ab8bb83fccfa4 (diff) | |
download | json-9b4302c7d59cc83e9b4733da9da26df569e0d278.tar.gz |
Merge branch 'master' into zzak-ruby-2.2
Diffstat (limited to 'lib')
-rw-r--r-- | lib/json/add/complex.rb | 8 | ||||
-rw-r--r-- | lib/json/add/rational.rb | 5 | ||||
-rw-r--r-- | lib/json/add/time.rb | 2 | ||||
-rw-r--r-- | lib/json/common.rb | 8 |
4 files changed, 17 insertions, 6 deletions
diff --git a/lib/json/add/complex.rb b/lib/json/add/complex.rb index d7ebebf..2723f60 100644 --- a/lib/json/add/complex.rb +++ b/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/lib/json/add/rational.rb b/lib/json/add/rational.rb index 867cd92..ee39c20 100644 --- a/lib/json/add/rational.rb +++ b/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/lib/json/add/time.rb b/lib/json/add/time.rb index 338209d..d983467 100644 --- a/lib/json/add/time.rb +++ b/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) diff --git a/lib/json/common.rb b/lib/json/common.rb index 8fbaa2b..f44184e 100644 --- a/lib/json/common.rb +++ b/lib/json/common.rb @@ -148,7 +148,7 @@ module JSON # the default. # * *create_additions*: If set to false, the Parser doesn't create # additions even if a matching class and create_id was found. This option - # defaults to true. + # defaults to false. # * *object_class*: Defaults to Hash # * *array_class*: Defaults to Array def parse(source, opts = {}) @@ -169,7 +169,7 @@ module JSON # to true. # * *create_additions*: If set to false, the Parser doesn't create # additions even if a matching class and create_id was found. This option - # defaults to true. + # defaults to false. def parse!(source, opts = {}) opts = { :max_nesting => false, @@ -390,7 +390,7 @@ module JSON end end opts = JSON.dump_default_options - limit and opts.update(:max_nesting => limit) + opts = opts.merge(:max_nesting => limit) if limit result = generate(obj, opts) if anIO anIO.write result @@ -411,7 +411,7 @@ module JSON string end - # Shortuct for iconv. + # Shortcut for iconv. if ::String.method_defined?(:encode) # Encodes string using Ruby's _String.encode_ def self.iconv(to, from, string) |