[前][次][番号順一覧][スレッド一覧]

ruby-changes:36970

From: hsbt <ko1@a...>
Date: Mon, 29 Dec 2014 07:29:32 +0900 (JST)
Subject: [ruby-changes:36970] hsbt:r49051 (trunk): * ext/json, test/json: merge JSON HEAD(17fe8e7)

hsbt	2014-12-29 07:29:11 +0900 (Mon, 29 Dec 2014)

  New Revision: 49051

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=49051

  Log:
    * ext/json, test/json: merge JSON HEAD(17fe8e7)
      https://github.com/flori/json/compare/v1.8.1...17fe8e7

  Modified files:
    trunk/ChangeLog
    trunk/ext/json/generator/generator.c
    trunk/ext/json/generator/generator.h
    trunk/ext/json/lib/json/add/complex.rb
    trunk/ext/json/lib/json/add/rational.rb
    trunk/ext/json/lib/json/add/time.rb
    trunk/ext/json/lib/json/common.rb
    trunk/ext/json/parser/parser.c
    trunk/ext/json/parser/parser.rl
    trunk/test/json/test_json.rb
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 49050)
+++ ChangeLog	(revision 49051)
@@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Mon Dec 29 07:27:23 2014  SHIBATA Hiroshi  <shibata.hiroshi@g...>
+
+	* ext/json, test/json: merge JSON HEAD(17fe8e7)
+	  https://github.com/flori/json/compare/v1.8.1...17fe8e7
+
 Sun Dec 28 23:49:37 2014  Michal Papis  <mpapis@g...>
 
 	* rbinstall.rb: fix target location for installing bundled gems.
Index: ext/json/generator/generator.c
===================================================================
--- ext/json/generator/generator.c	(revision 49050)
+++ ext/json/generator/generator.c	(revision 49051)
@@ -676,7 +676,7 @@ static VALUE cState_to_h(VALUE self) https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.c#L676
 /*
 * call-seq: [](name)
 *
-* Return the value returned by method +name+.
+* Returns the value returned by method +name+.
 */
 static VALUE cState_aref(VALUE self, VALUE name)
 {
@@ -691,7 +691,7 @@ static VALUE cState_aref(VALUE self, VAL https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.c#L691
 /*
 * call-seq: []=(name, value)
 *
-* Set the attribute name to value.
+* Sets the attribute name to value.
 */
 static VALUE cState_aset(VALUE self, VALUE name, VALUE value)
 {
@@ -988,7 +988,7 @@ static VALUE cState_initialize(int argc, https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.c#L988
 /*
  * call-seq: initialize_copy(orig)
  *
- * Initializes this object from orig if it to be duplicated/cloned and returns
+ * Initializes this object from orig if it can be duplicated/cloned and returns
  * it.
 */
 static VALUE cState_init_copy(VALUE obj, VALUE orig)
@@ -1036,7 +1036,7 @@ static VALUE cState_from_state_s(VALUE s https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.c#L1036
 /*
  * call-seq: indent()
  *
- * This string is used to indent levels in the JSON text.
+ * Returns the string that is used to indent levels in the JSON text.
  */
 static VALUE cState_indent(VALUE self)
 {
@@ -1047,7 +1047,7 @@ static VALUE cState_indent(VALUE self) https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.c#L1047
 /*
  * call-seq: indent=(indent)
  *
- * This string is used to indent levels in the JSON text.
+ * Sets the string that is used to indent levels in the JSON text.
  */
 static VALUE cState_indent_set(VALUE self, VALUE indent)
 {
@@ -1072,7 +1072,7 @@ static VALUE cState_indent_set(VALUE sel https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.c#L1072
 /*
  * call-seq: space()
  *
- * This string is used to insert a space between the tokens in a JSON
+ * Returns the string that is used to insert a space between the tokens in a JSON
  * string.
  */
 static VALUE cState_space(VALUE self)
@@ -1084,7 +1084,7 @@ static VALUE cState_space(VALUE self) https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.c#L1084
 /*
  * call-seq: space=(space)
  *
- * This string is used to insert a space between the tokens in a JSON
+ * Sets _space_ to the string that is used to insert a space between the tokens in a JSON
  * string.
  */
 static VALUE cState_space_set(VALUE self, VALUE space)
@@ -1110,7 +1110,7 @@ static VALUE cState_space_set(VALUE self https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.c#L1110
 /*
  * call-seq: space_before()
  *
- * This string is used to insert a space before the ':' in JSON objects.
+ * Returns the string that is used to insert a space before the ':' in JSON objects.
  */
 static VALUE cState_space_before(VALUE self)
 {
@@ -1121,7 +1121,7 @@ static VALUE cState_space_before(VALUE s https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.c#L1121
 /*
  * call-seq: space_before=(space_before)
  *
- * This string is used to insert a space before the ':' in JSON objects.
+ * Sets the string that is used to insert a space before the ':' in JSON objects.
  */
 static VALUE cState_space_before_set(VALUE self, VALUE space_before)
 {
@@ -1328,7 +1328,7 @@ static VALUE cState_depth_set(VALUE self https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.c#L1328
 /*
  * call-seq: buffer_initial_length
  *
- * This integer returns the current inital length of the buffer.
+ * This integer returns the current initial length of the buffer.
  */
 static VALUE cState_buffer_initial_length(VALUE self)
 {
Index: ext/json/generator/generator.h
===================================================================
--- ext/json/generator/generator.h	(revision 49050)
+++ ext/json/generator/generator.h	(revision 49051)
@@ -23,7 +23,7 @@ https://github.com/ruby/ruby/blob/trunk/ext/json/generator/generator.h#L23
 
 #define option_given_p(opts, key) RTEST(rb_funcall(opts, i_key_p, 1, key))
 
-/* unicode defintions */
+/* unicode definitions */
 
 #define UNI_STRICT_CONVERSION 1
 
Index: ext/json/lib/json/add/time.rb
===================================================================
--- ext/json/lib/json/add/time.rb	(revision 49050)
+++ ext/json/lib/json/add/time.rb	(revision 49051)
@@ -10,7 +10,7 @@ class Time https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/add/time.rb#L10
     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)
Index: ext/json/lib/json/add/complex.rb
===================================================================
--- ext/json/lib/json/add/complex.rb	(revision 49050)
+++ ext/json/lib/json/add/complex.rb	(revision 49051)
@@ -4,10 +4,15 @@ end https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/add/complex.rb#L4
 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 https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/add/complex.rb#L21
     }
   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
Index: ext/json/lib/json/add/rational.rb
===================================================================
--- ext/json/lib/json/add/rational.rb	(revision 49050)
+++ ext/json/lib/json/add/rational.rb	(revision 49051)
@@ -4,10 +4,14 @@ end https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/add/rational.rb#L4
 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 https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/add/rational.rb#L20
     }
   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
Index: ext/json/lib/json/common.rb
===================================================================
--- ext/json/lib/json/common.rb	(revision 49050)
+++ ext/json/lib/json/common.rb	(revision 49051)
@@ -148,7 +148,7 @@ module JSON https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/common.rb#L148
   #   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 https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/common.rb#L169
   #   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 https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/common.rb#L390
       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 https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/common.rb#L411
     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)
Index: ext/json/parser/parser.rl
===================================================================
--- ext/json/parser/parser.rl	(revision 49050)
+++ ext/json/parser/parser.rl	(revision 49051)
@@ -610,7 +610,7 @@ static VALUE convert_encoding(VALUE sour https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.rl#L610
  *   (keys) in a JSON object. Otherwise strings are returned, which is also
  *   the default.
  * * *create_additions*: If set to false, the Parser doesn't create
- *   additions even if a matchin class and create_id was found. This option
+ *   additions even if a matching class and create_id was found. This option
  *   defaults to true.
  * * *object_class*: Defaults to Hash
  * * *array_class*: Defaults to Array
Index: ext/json/parser/parser.c
===================================================================
--- ext/json/parser/parser.c	(revision 49050)
+++ ext/json/parser/parser.c	(revision 49051)
@@ -1626,8 +1626,8 @@ static VALUE convert_encoding(VALUE sour https://github.com/ruby/ruby/blob/trunk/ext/json/parser/parser.c#L1626
  *   (keys) in a JSON object. Otherwise strings are returned, which is also
  *   the default.
  * * *create_additions*: If set to false, the Parser doesn't create
- *   additions even if a matchin class and create_id was found. This option
- *   defaults to true.
+ *   additions even if a matching class and create_id was found. This option
+ *   defaults to false.
  * * *object_class*: Defaults to Hash
  * * *array_class*: Defaults to Array
  */
Index: test/json/test_json.rb
===================================================================
--- test/json/test_json.rb	(revision 49050)
+++ test/json/test_json.rb	(revision 49051)
@@ -517,6 +517,12 @@ EOT https://github.com/ruby/ruby/blob/trunk/test/json/test_json.rb#L517
     assert_equal too_deep, output.string
   end
 
+  def test_dump_should_modify_defaults
+    max_nesting = JSON.dump_default_options[:max_nesting]
+    JSON.dump([], StringIO.new, 10)
+    assert_equal max_nesting, JSON.dump_default_options[:max_nesting]
+  end
+
   def test_big_integers
     json1 = JSON([orig = (1 << 31) - 1])
     assert_equal orig, JSON[json1][0]

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]