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

ruby-changes:21093

From: naruse <ko1@a...>
Date: Wed, 31 Aug 2011 15:57:10 +0900 (JST)
Subject: [ruby-changes:21093] naruse:r33142 (trunk): * ext/json: Merge json gem v1.5.4 (3dab4c5a6a97fac03dac).

naruse	2011-08-31 15:56:16 +0900 (Wed, 31 Aug 2011)

  New Revision: 33142

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

  Log:
    * ext/json: Merge json gem v1.5.4 (3dab4c5a6a97fac03dac).

  Added files:
    trunk/ext/json/lib/json/add/complex.rb
    trunk/ext/json/lib/json/add/rational.rb
  Modified files:
    trunk/ChangeLog
    trunk/ext/json/generator/generator.c
    trunk/ext/json/lib/json/add/core.rb
    trunk/ext/json/parser/parser.c
    trunk/test/json/test_json_addition.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 33141)
+++ ChangeLog	(revision 33142)
@@ -1,3 +1,7 @@
+Wed Aug 31 15:54:11 2011  NARUSE, Yui  <naruse@r...>
+
+	* ext/json: Merge json gem v1.5.4 (3dab4c5a6a97fac03dac).
+
 Wed Aug 31 13:09:41 2011  Marc-Andre Lafortune  <ruby-core@m...>
 
 	* numeric.c (flo_round): Avoid overflow by optimizing for trivial
Index: ext/json/generator/generator.c
===================================================================
--- ext/json/generator/generator.c	(revision 33141)
+++ ext/json/generator/generator.c	(revision 33142)
@@ -1001,6 +1001,8 @@
  * * *allow_nan*: true if NaN, Infinity, and -Infinity should be
  *   generated, otherwise an exception is thrown, if these values are
  *   encountered. This options defaults to false.
+ * * *quirks_mode*: Enables quirks_mode for parser, that is for example
+ *   generating single JSON values instead of documents is possible.
  */
 static VALUE cState_initialize(int argc, VALUE *argv, VALUE self)
 {
Index: ext/json/lib/json/add/complex.rb
===================================================================
--- ext/json/lib/json/add/complex.rb	(revision 0)
+++ ext/json/lib/json/add/complex.rb	(revision 33142)
@@ -0,0 +1,22 @@
+unless defined?(::JSON::JSON_LOADED) and ::JSON::JSON_LOADED
+  require 'json'
+end
+defined?(::Complex) or require 'complex'
+
+class Complex
+  def self.json_create(object)
+    Complex(object['r'], object['i'])
+  end
+
+  def as_json(*)
+    {
+      JSON.create_id => self.class.name,
+      'r'            => real,
+      'i'            => imag,
+    }
+  end
+
+  def to_json(*)
+    as_json.to_json
+  end
+end
Index: ext/json/lib/json/add/core.rb
===================================================================
--- ext/json/lib/json/add/core.rb	(revision 33141)
+++ ext/json/lib/json/add/core.rb	(revision 33142)
@@ -241,39 +241,3 @@
     as_json.to_json
   end
 end
-
-class Rational
-  def self.json_create(object)
-    Rational(object['n'], object['d'])
-  end
-
-  def as_json(*)
-    {
-      JSON.create_id => self.class.name,
-      'n'            => numerator,
-      'd'            => denominator,
-    }
-  end
-
-  def to_json(*)
-    as_json.to_json
-  end
-end
-
-class Complex
-  def self.json_create(object)
-    Complex(object['r'], object['i'])
-  end
-
-  def as_json(*)
-    {
-      JSON.create_id => self.class.name,
-      'r'            => real,
-      'i'            => imag,
-    }
-  end
-
-  def to_json(*)
-    as_json.to_json
-  end
-end
Index: ext/json/lib/json/add/rational.rb
===================================================================
--- ext/json/lib/json/add/rational.rb	(revision 0)
+++ ext/json/lib/json/add/rational.rb	(revision 33142)
@@ -0,0 +1,22 @@
+unless defined?(::JSON::JSON_LOADED) and ::JSON::JSON_LOADED
+  require 'json'
+end
+defined?(::Rational) or require 'rational'
+
+class Rational
+  def self.json_create(object)
+    Rational(object['n'], object['d'])
+  end
+
+  def as_json(*)
+    {
+      JSON.create_id => self.class.name,
+      'n'            => numerator,
+      'd'            => denominator,
+    }
+  end
+
+  def to_json(*)
+    as_json.to_json
+  end
+end
Index: ext/json/parser/parser.c
===================================================================
--- ext/json/parser/parser.c	(revision 33141)
+++ ext/json/parser/parser.c	(revision 33142)
@@ -1618,6 +1618,9 @@
  *   defaults to true.
  * * *object_class*: Defaults to Hash
  * * *array_class*: Defaults to Array
+ * * *quirks_mode*: Enables quirks_mode for parser, that is for example
+ *   parsing single JSON values instead of documents is possible.
+ *
  */
 static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self)
 {
Index: test/json/test_json_addition.rb
===================================================================
--- test/json/test_json_addition.rb	(revision 33141)
+++ test/json/test_json_addition.rb	(revision 33142)
@@ -3,7 +3,7 @@
 
 require 'test/unit'
 require File.join(File.dirname(__FILE__), 'setup_variant')
-load 'json/add/core.rb'
+require 'json/add/core.rb'
 require 'date'
 
 class TC_JSONAddition < Test::Unit::TestCase

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

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