json 1.6.8 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of json might be problematic. Click here for more details.

data/CHANGES CHANGED
@@ -1,8 +1,5 @@
1
- 2013-02-04 (1.6.8)
2
- * Security fix for JSON create_additions default value. It should not be
3
- possible to create additions unless
4
- explicitely requested by setting the create_additions argument to true or
5
- using the JSON.load/dump interface.
1
+ 2012-04-28 (1.7.0)
2
+ * Add JSON::GenericObject for method access to objects transmitted via JSON.
6
3
  2012-04-27 (1.6.7)
7
4
  * Fix possible crash when trying to parse nil value.
8
5
  2012-02-11 (1.6.6)
data/Gemfile CHANGED
@@ -6,6 +6,10 @@ gemspec :name => 'json'
6
6
  gemspec :name => 'json_pure'
7
7
  gemspec :name => 'json-java'
8
8
 
9
- gem 'utils'
10
- gem 'test-unit'
11
- gem 'debugger', :platform => :mri_19
9
+ group :development, :test do
10
+ gem 'simplecov', :platform => :mri_19
11
+ end
12
+
13
+ group :test do
14
+ gem 'test-unit', '2.4.7', :platform => :mri_19
15
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.6.8
1
+ 1.7.0
@@ -1680,7 +1680,7 @@ static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self)
1680
1680
  if (option_given_p(opts, tmp)) {
1681
1681
  json->create_additions = RTEST(rb_hash_aref(opts, tmp));
1682
1682
  } else {
1683
- json->create_additions = 0;
1683
+ json->create_additions = 1;
1684
1684
  }
1685
1685
  tmp = ID2SYM(i_create_id);
1686
1686
  if (option_given_p(opts, tmp)) {
@@ -664,7 +664,7 @@ static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self)
664
664
  if (option_given_p(opts, tmp)) {
665
665
  json->create_additions = RTEST(rb_hash_aref(opts, tmp));
666
666
  } else {
667
- json->create_additions = 0;
667
+ json->create_additions = 1;
668
668
  }
669
669
  tmp = ID2SYM(i_create_id);
670
670
  if (option_given_p(opts, tmp)) {
@@ -166,7 +166,7 @@ public class Parser extends RubyObject {
166
166
  this.symbolizeNames = opts.getBool("symbolize_names", false);
167
167
  this.quirksMode = opts.getBool("quirks_mode", false);
168
168
  this.createId = opts.getString("create_id", getCreateId(context));
169
- this.createAdditions = opts.getBool("create_additions", false);
169
+ this.createAdditions = opts.getBool("create_additions", true);
170
170
  this.objectClass = opts.getClass("object_class", runtime.getHash());
171
171
  this.arrayClass = opts.getClass("array_class", runtime.getArray());
172
172
  this.match_string = opts.getHash("match_string");
@@ -1617,14 +1617,14 @@ static final int JSON_array_en_main = 1;
1617
1617
  }
1618
1618
 
1619
1619
 
1620
- // line 1621 "Parser.java"
1620
+ // line 1623 "Parser.java"
1621
1621
  {
1622
1622
  cs = JSON_array_start;
1623
1623
  }
1624
1624
 
1625
- // line 712 "Parser.rl"
1625
+ // line 714 "Parser.rl"
1626
1626
 
1627
- // line 1628 "Parser.java"
1627
+ // line 1630 "Parser.java"
1628
1628
  {
1629
1629
  int _klen;
1630
1630
  int _trans = 0;
@@ -1728,7 +1728,7 @@ case 1:
1728
1728
  { p += 1; _goto_targ = 5; if (true) continue _goto;}
1729
1729
  }
1730
1730
  break;
1731
- // line 1732 "Parser.java"
1731
+ // line 1734 "Parser.java"
1732
1732
  }
1733
1733
  }
1734
1734
  }
@@ -1748,7 +1748,7 @@ case 5:
1748
1748
  break; }
1749
1749
  }
1750
1750
 
1751
- // line 713 "Parser.rl"
1751
+ // line 715 "Parser.rl"
1752
1752
 
1753
1753
  if (cs >= JSON_array_first_final) {
1754
1754
  res.update(result, p + 1);
@@ -1758,7 +1758,7 @@ case 5:
1758
1758
  }
1759
1759
 
1760
1760
 
1761
- // line 1762 "Parser.java"
1761
+ // line 1764 "Parser.java"
1762
1762
  private static byte[] init__JSON_object_actions_0()
1763
1763
  {
1764
1764
  return new byte [] {
@@ -1881,7 +1881,7 @@ static final int JSON_object_error = 0;
1881
1881
  static final int JSON_object_en_main = 1;
1882
1882
 
1883
1883
 
1884
- // line 772 "Parser.rl"
1884
+ // line 774 "Parser.rl"
1885
1885
 
1886
1886
 
1887
1887
  void parseObject(ParserResult res, int p, int pe) {
@@ -1906,14 +1906,14 @@ static final int JSON_object_en_main = 1;
1906
1906
  }
1907
1907
 
1908
1908
 
1909
- // line 1910 "Parser.java"
1909
+ // line 1912 "Parser.java"
1910
1910
  {
1911
1911
  cs = JSON_object_start;
1912
1912
  }
1913
1913
 
1914
- // line 796 "Parser.rl"
1914
+ // line 798 "Parser.rl"
1915
1915
 
1916
- // line 1917 "Parser.java"
1916
+ // line 1919 "Parser.java"
1917
1917
  {
1918
1918
  int _klen;
1919
1919
  int _trans = 0;
@@ -1994,7 +1994,7 @@ case 1:
1994
1994
  switch ( _JSON_object_actions[_acts++] )
1995
1995
  {
1996
1996
  case 0:
1997
- // line 727 "Parser.rl"
1997
+ // line 729 "Parser.rl"
1998
1998
  {
1999
1999
  parseValue(res, p, pe);
2000
2000
  if (res.result == null) {
@@ -2011,7 +2011,7 @@ case 1:
2011
2011
  }
2012
2012
  break;
2013
2013
  case 1:
2014
- // line 742 "Parser.rl"
2014
+ // line 744 "Parser.rl"
2015
2015
  {
2016
2016
  parseString(res, p, pe);
2017
2017
  if (res.result == null) {
@@ -2031,13 +2031,13 @@ case 1:
2031
2031
  }
2032
2032
  break;
2033
2033
  case 2:
2034
- // line 760 "Parser.rl"
2034
+ // line 762 "Parser.rl"
2035
2035
  {
2036
2036
  p--;
2037
2037
  { p += 1; _goto_targ = 5; if (true) continue _goto;}
2038
2038
  }
2039
2039
  break;
2040
- // line 2041 "Parser.java"
2040
+ // line 2043 "Parser.java"
2041
2041
  }
2042
2042
  }
2043
2043
  }
@@ -2057,7 +2057,7 @@ case 5:
2057
2057
  break; }
2058
2058
  }
2059
2059
 
2060
- // line 797 "Parser.rl"
2060
+ // line 799 "Parser.rl"
2061
2061
 
2062
2062
  if (cs < JSON_object_first_final) {
2063
2063
  res.update(null, p + 1);
@@ -2090,7 +2090,7 @@ case 5:
2090
2090
  }
2091
2091
 
2092
2092
 
2093
- // line 2094 "Parser.java"
2093
+ // line 2096 "Parser.java"
2094
2094
  private static byte[] init__JSON_actions_0()
2095
2095
  {
2096
2096
  return new byte [] {
@@ -2194,7 +2194,7 @@ static final int JSON_error = 0;
2194
2194
  static final int JSON_en_main = 1;
2195
2195
 
2196
2196
 
2197
- // line 862 "Parser.rl"
2197
+ // line 864 "Parser.rl"
2198
2198
 
2199
2199
 
2200
2200
  public IRubyObject parseStrict() {
@@ -2204,16 +2204,16 @@ static final int JSON_en_main = 1;
2204
2204
  ParserResult res = new ParserResult();
2205
2205
 
2206
2206
 
2207
- // line 2208 "Parser.java"
2207
+ // line 2210 "Parser.java"
2208
2208
  {
2209
2209
  cs = JSON_start;
2210
2210
  }
2211
2211
 
2212
- // line 871 "Parser.rl"
2212
+ // line 873 "Parser.rl"
2213
2213
  p = byteList.begin();
2214
2214
  pe = p + byteList.length();
2215
2215
 
2216
- // line 2217 "Parser.java"
2216
+ // line 2219 "Parser.java"
2217
2217
  {
2218
2218
  int _klen;
2219
2219
  int _trans = 0;
@@ -2294,7 +2294,7 @@ case 1:
2294
2294
  switch ( _JSON_actions[_acts++] )
2295
2295
  {
2296
2296
  case 0:
2297
- // line 834 "Parser.rl"
2297
+ // line 836 "Parser.rl"
2298
2298
  {
2299
2299
  currentNesting = 1;
2300
2300
  parseObject(res, p, pe);
@@ -2308,7 +2308,7 @@ case 1:
2308
2308
  }
2309
2309
  break;
2310
2310
  case 1:
2311
- // line 846 "Parser.rl"
2311
+ // line 848 "Parser.rl"
2312
2312
  {
2313
2313
  currentNesting = 1;
2314
2314
  parseArray(res, p, pe);
@@ -2321,7 +2321,7 @@ case 1:
2321
2321
  }
2322
2322
  }
2323
2323
  break;
2324
- // line 2325 "Parser.java"
2324
+ // line 2327 "Parser.java"
2325
2325
  }
2326
2326
  }
2327
2327
  }
@@ -2341,7 +2341,7 @@ case 5:
2341
2341
  break; }
2342
2342
  }
2343
2343
 
2344
- // line 874 "Parser.rl"
2344
+ // line 876 "Parser.rl"
2345
2345
 
2346
2346
  if (cs >= JSON_first_final && p == pe) {
2347
2347
  return result;
@@ -2351,7 +2351,7 @@ case 5:
2351
2351
  }
2352
2352
 
2353
2353
 
2354
- // line 2355 "Parser.java"
2354
+ // line 2357 "Parser.java"
2355
2355
  private static byte[] init__JSON_quirks_mode_actions_0()
2356
2356
  {
2357
2357
  return new byte [] {
@@ -2454,7 +2454,7 @@ static final int JSON_quirks_mode_error = 0;
2454
2454
  static final int JSON_quirks_mode_en_main = 1;
2455
2455
 
2456
2456
 
2457
- // line 902 "Parser.rl"
2457
+ // line 904 "Parser.rl"
2458
2458
 
2459
2459
 
2460
2460
  public IRubyObject parseQuirksMode() {
@@ -2464,16 +2464,16 @@ static final int JSON_quirks_mode_en_main = 1;
2464
2464
  ParserResult res = new ParserResult();
2465
2465
 
2466
2466
 
2467
- // line 2468 "Parser.java"
2467
+ // line 2470 "Parser.java"
2468
2468
  {
2469
2469
  cs = JSON_quirks_mode_start;
2470
2470
  }
2471
2471
 
2472
- // line 911 "Parser.rl"
2472
+ // line 913 "Parser.rl"
2473
2473
  p = byteList.begin();
2474
2474
  pe = p + byteList.length();
2475
2475
 
2476
- // line 2477 "Parser.java"
2476
+ // line 2479 "Parser.java"
2477
2477
  {
2478
2478
  int _klen;
2479
2479
  int _trans = 0;
@@ -2554,7 +2554,7 @@ case 1:
2554
2554
  switch ( _JSON_quirks_mode_actions[_acts++] )
2555
2555
  {
2556
2556
  case 0:
2557
- // line 888 "Parser.rl"
2557
+ // line 890 "Parser.rl"
2558
2558
  {
2559
2559
  parseValue(res, p, pe);
2560
2560
  if (res.result == null) {
@@ -2566,7 +2566,7 @@ case 1:
2566
2566
  }
2567
2567
  }
2568
2568
  break;
2569
- // line 2570 "Parser.java"
2569
+ // line 2572 "Parser.java"
2570
2570
  }
2571
2571
  }
2572
2572
  }
@@ -2586,7 +2586,7 @@ case 5:
2586
2586
  break; }
2587
2587
  }
2588
2588
 
2589
- // line 914 "Parser.rl"
2589
+ // line 916 "Parser.rl"
2590
2590
 
2591
2591
  if (cs >= JSON_quirks_mode_first_final && p == pe) {
2592
2592
  return result;
@@ -164,7 +164,7 @@ public class Parser extends RubyObject {
164
164
  this.symbolizeNames = opts.getBool("symbolize_names", false);
165
165
  this.quirksMode = opts.getBool("quirks_mode", false);
166
166
  this.createId = opts.getString("create_id", getCreateId(context));
167
- this.createAdditions = opts.getBool("create_additions", false);
167
+ this.createAdditions = opts.getBool("create_additions", true);
168
168
  this.objectClass = opts.getClass("object_class", runtime.getHash());
169
169
  this.arrayClass = opts.getClass("array_class", runtime.getArray());
170
170
  this.match_string = opts.getHash("match_string");
@@ -2,23 +2,23 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "json"
5
- s.version = "1.6.8"
5
+ s.version = "1.7.0"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Florian Frank"]
9
- s.date = "2013-02-10"
9
+ s.date = "2012-04-28"
10
10
  s.description = "This is a JSON implementation as a Ruby extension in C."
11
11
  s.email = "flori@ping.de"
12
- s.extensions = ["ext/json/ext/generator/extconf.rb", "ext/json/ext/parser/extconf.rb"]
12
+ s.extensions = ["ext/json/ext/parser/extconf.rb", "ext/json/ext/generator/extconf.rb"]
13
13
  s.extra_rdoc_files = ["README.rdoc"]
14
- s.files = [".gitignore", ".travis.yml", "CHANGES", "COPYING", "COPYING-json-jruby", "GPL", "Gemfile", "README-json-jruby.markdown", "README.rdoc", "Rakefile", "TODO", "VERSION", "data/example.json", "data/index.html", "data/prototype.js", "diagrams/.keep", "ext/json/ext/fbuffer/fbuffer.h", "ext/json/ext/generator/extconf.rb", "ext/json/ext/generator/generator.c", "ext/json/ext/generator/generator.h", "ext/json/ext/parser/extconf.rb", "ext/json/ext/parser/parser.c", "ext/json/ext/parser/parser.h", "ext/json/ext/parser/parser.rl", "install.rb", "java/src/json/ext/ByteListTranscoder.java", "java/src/json/ext/Generator.java", "java/src/json/ext/GeneratorMethods.java", "java/src/json/ext/GeneratorService.java", "java/src/json/ext/GeneratorState.java", "java/src/json/ext/OptionsReader.java", "java/src/json/ext/Parser.java", "java/src/json/ext/Parser.rl", "java/src/json/ext/ParserService.java", "java/src/json/ext/RuntimeInfo.java", "java/src/json/ext/StringDecoder.java", "java/src/json/ext/StringEncoder.java", "java/src/json/ext/Utils.java", "json-java.gemspec", "json.gemspec", "json_pure.gemspec", "lib/json.rb", "lib/json/add/bigdecimal.rb", "lib/json/add/complex.rb", "lib/json/add/core.rb", "lib/json/add/date.rb", "lib/json/add/date_time.rb", "lib/json/add/exception.rb", "lib/json/add/ostruct.rb", "lib/json/add/range.rb", "lib/json/add/rational.rb", "lib/json/add/regexp.rb", "lib/json/add/struct.rb", "lib/json/add/symbol.rb", "lib/json/add/time.rb", "lib/json/common.rb", "lib/json/ext.rb", "lib/json/ext/.keep", "lib/json/light_object.rb", "lib/json/pure.rb", "lib/json/pure/generator.rb", "lib/json/pure/parser.rb", "lib/json/version.rb", "tests/fixtures/fail1.json", "tests/fixtures/fail10.json", "tests/fixtures/fail11.json", "tests/fixtures/fail12.json", "tests/fixtures/fail13.json", "tests/fixtures/fail14.json", "tests/fixtures/fail18.json", "tests/fixtures/fail19.json", "tests/fixtures/fail2.json", "tests/fixtures/fail20.json", "tests/fixtures/fail21.json", "tests/fixtures/fail22.json", "tests/fixtures/fail23.json", "tests/fixtures/fail24.json", "tests/fixtures/fail25.json", "tests/fixtures/fail27.json", "tests/fixtures/fail28.json", "tests/fixtures/fail3.json", "tests/fixtures/fail4.json", "tests/fixtures/fail5.json", "tests/fixtures/fail6.json", "tests/fixtures/fail7.json", "tests/fixtures/fail8.json", "tests/fixtures/fail9.json", "tests/fixtures/pass1.json", "tests/fixtures/pass15.json", "tests/fixtures/pass16.json", "tests/fixtures/pass17.json", "tests/fixtures/pass2.json", "tests/fixtures/pass26.json", "tests/fixtures/pass3.json", "tests/setup_variant.rb", "tests/test_json.rb", "tests/test_json_addition.rb", "tests/test_json_encoding.rb", "tests/test_json_fixtures.rb", "tests/test_json_generate.rb", "tests/test_json_string_matching.rb", "tests/test_json_unicode.rb", "tools/fuzz.rb", "tools/server.rb", "./tests/test_json_string_matching.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_unicode.rb", "./tests/test_json_addition.rb", "./tests/test_json_generate.rb", "./tests/test_json_encoding.rb", "./tests/test_json.rb"]
14
+ s.files = [".gitignore", ".travis.yml", "CHANGES", "COPYING", "COPYING-json-jruby", "GPL", "Gemfile", "README-json-jruby.markdown", "README.rdoc", "Rakefile", "TODO", "VERSION", "data/example.json", "data/index.html", "data/prototype.js", "diagrams/.keep", "ext/json/ext/fbuffer/fbuffer.h", "ext/json/ext/generator/extconf.rb", "ext/json/ext/generator/generator.c", "ext/json/ext/generator/generator.h", "ext/json/ext/parser/extconf.rb", "ext/json/ext/parser/parser.c", "ext/json/ext/parser/parser.h", "ext/json/ext/parser/parser.rl", "install.rb", "java/src/json/ext/ByteListTranscoder.java", "java/src/json/ext/Generator.java", "java/src/json/ext/GeneratorMethods.java", "java/src/json/ext/GeneratorService.java", "java/src/json/ext/GeneratorState.java", "java/src/json/ext/OptionsReader.java", "java/src/json/ext/Parser.java", "java/src/json/ext/Parser.rl", "java/src/json/ext/ParserService.java", "java/src/json/ext/RuntimeInfo.java", "java/src/json/ext/StringDecoder.java", "java/src/json/ext/StringEncoder.java", "java/src/json/ext/Utils.java", "json-java.gemspec", "json.gemspec", "json_pure.gemspec", "lib/json.rb", "lib/json/add/bigdecimal.rb", "lib/json/add/complex.rb", "lib/json/add/core.rb", "lib/json/add/date.rb", "lib/json/add/date_time.rb", "lib/json/add/exception.rb", "lib/json/add/ostruct.rb", "lib/json/add/range.rb", "lib/json/add/rational.rb", "lib/json/add/regexp.rb", "lib/json/add/struct.rb", "lib/json/add/symbol.rb", "lib/json/add/time.rb", "lib/json/common.rb", "lib/json/ext.rb", "lib/json/ext/.keep", "lib/json/generic_object.rb", "lib/json/pure.rb", "lib/json/pure/generator.rb", "lib/json/pure/parser.rb", "lib/json/version.rb", "tests/fixtures/fail1.json", "tests/fixtures/fail10.json", "tests/fixtures/fail11.json", "tests/fixtures/fail12.json", "tests/fixtures/fail13.json", "tests/fixtures/fail14.json", "tests/fixtures/fail18.json", "tests/fixtures/fail19.json", "tests/fixtures/fail2.json", "tests/fixtures/fail20.json", "tests/fixtures/fail21.json", "tests/fixtures/fail22.json", "tests/fixtures/fail23.json", "tests/fixtures/fail24.json", "tests/fixtures/fail25.json", "tests/fixtures/fail27.json", "tests/fixtures/fail28.json", "tests/fixtures/fail3.json", "tests/fixtures/fail4.json", "tests/fixtures/fail5.json", "tests/fixtures/fail6.json", "tests/fixtures/fail7.json", "tests/fixtures/fail8.json", "tests/fixtures/fail9.json", "tests/fixtures/pass1.json", "tests/fixtures/pass15.json", "tests/fixtures/pass16.json", "tests/fixtures/pass17.json", "tests/fixtures/pass2.json", "tests/fixtures/pass26.json", "tests/fixtures/pass3.json", "tests/setup_variant.rb", "tests/test_json.rb", "tests/test_json_addition.rb", "tests/test_json_encoding.rb", "tests/test_json_fixtures.rb", "tests/test_json_generate.rb", "tests/test_json_generic_object.rb", "tests/test_json_string_matching.rb", "tests/test_json_unicode.rb", "tools/fuzz.rb", "tools/server.rb", "./tests/test_json_string_matching.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_unicode.rb", "./tests/test_json_addition.rb", "./tests/test_json_generate.rb", "./tests/test_json_encoding.rb", "./tests/test_json_generic_object.rb", "./tests/test_json.rb"]
15
15
  s.homepage = "http://flori.github.com/json"
16
16
  s.rdoc_options = ["--title", "JSON implemention for Ruby", "--main", "README.rdoc"]
17
17
  s.require_paths = ["ext/json/ext", "ext", "lib"]
18
18
  s.rubyforge_project = "json"
19
- s.rubygems_version = "1.8.25"
19
+ s.rubygems_version = "1.8.23"
20
20
  s.summary = "JSON Implementation for Ruby"
21
- s.test_files = ["./tests/test_json_string_matching.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_unicode.rb", "./tests/test_json_addition.rb", "./tests/test_json_generate.rb", "./tests/test_json_encoding.rb", "./tests/test_json.rb"]
21
+ s.test_files = ["./tests/test_json_string_matching.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_unicode.rb", "./tests/test_json_addition.rb", "./tests/test_json_generate.rb", "./tests/test_json_encoding.rb", "./tests/test_json_generic_object.rb", "./tests/test_json.rb"]
22
22
 
23
23
  if s.respond_to? :specification_version then
24
24
  s.specification_version = 3
@@ -2,22 +2,22 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "json_pure"
5
- s.version = "1.6.8"
5
+ s.version = "1.7.0"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Florian Frank"]
9
- s.date = "2013-02-10"
9
+ s.date = "2012-04-28"
10
10
  s.description = "This is a JSON implementation in pure Ruby."
11
11
  s.email = "flori@ping.de"
12
12
  s.extra_rdoc_files = ["README.rdoc"]
13
- s.files = [".gitignore", ".travis.yml", "CHANGES", "COPYING", "COPYING-json-jruby", "GPL", "Gemfile", "README-json-jruby.markdown", "README.rdoc", "Rakefile", "TODO", "VERSION", "data/example.json", "data/index.html", "data/prototype.js", "diagrams/.keep", "ext/json/ext/fbuffer/fbuffer.h", "ext/json/ext/generator/extconf.rb", "ext/json/ext/generator/generator.c", "ext/json/ext/generator/generator.h", "ext/json/ext/parser/extconf.rb", "ext/json/ext/parser/parser.c", "ext/json/ext/parser/parser.h", "ext/json/ext/parser/parser.rl", "install.rb", "java/src/json/ext/ByteListTranscoder.java", "java/src/json/ext/Generator.java", "java/src/json/ext/GeneratorMethods.java", "java/src/json/ext/GeneratorService.java", "java/src/json/ext/GeneratorState.java", "java/src/json/ext/OptionsReader.java", "java/src/json/ext/Parser.java", "java/src/json/ext/Parser.rl", "java/src/json/ext/ParserService.java", "java/src/json/ext/RuntimeInfo.java", "java/src/json/ext/StringDecoder.java", "java/src/json/ext/StringEncoder.java", "java/src/json/ext/Utils.java", "json-java.gemspec", "json.gemspec", "json_pure.gemspec", "lib/json.rb", "lib/json/add/bigdecimal.rb", "lib/json/add/complex.rb", "lib/json/add/core.rb", "lib/json/add/date.rb", "lib/json/add/date_time.rb", "lib/json/add/exception.rb", "lib/json/add/ostruct.rb", "lib/json/add/range.rb", "lib/json/add/rational.rb", "lib/json/add/regexp.rb", "lib/json/add/struct.rb", "lib/json/add/symbol.rb", "lib/json/add/time.rb", "lib/json/common.rb", "lib/json/ext.rb", "lib/json/ext/.keep", "lib/json/light_object.rb", "lib/json/pure.rb", "lib/json/pure/generator.rb", "lib/json/pure/parser.rb", "lib/json/version.rb", "tests/fixtures/fail1.json", "tests/fixtures/fail10.json", "tests/fixtures/fail11.json", "tests/fixtures/fail12.json", "tests/fixtures/fail13.json", "tests/fixtures/fail14.json", "tests/fixtures/fail18.json", "tests/fixtures/fail19.json", "tests/fixtures/fail2.json", "tests/fixtures/fail20.json", "tests/fixtures/fail21.json", "tests/fixtures/fail22.json", "tests/fixtures/fail23.json", "tests/fixtures/fail24.json", "tests/fixtures/fail25.json", "tests/fixtures/fail27.json", "tests/fixtures/fail28.json", "tests/fixtures/fail3.json", "tests/fixtures/fail4.json", "tests/fixtures/fail5.json", "tests/fixtures/fail6.json", "tests/fixtures/fail7.json", "tests/fixtures/fail8.json", "tests/fixtures/fail9.json", "tests/fixtures/pass1.json", "tests/fixtures/pass15.json", "tests/fixtures/pass16.json", "tests/fixtures/pass17.json", "tests/fixtures/pass2.json", "tests/fixtures/pass26.json", "tests/fixtures/pass3.json", "tests/setup_variant.rb", "tests/test_json.rb", "tests/test_json_addition.rb", "tests/test_json_encoding.rb", "tests/test_json_fixtures.rb", "tests/test_json_generate.rb", "tests/test_json_string_matching.rb", "tests/test_json_unicode.rb", "tools/fuzz.rb", "tools/server.rb", "./tests/test_json_string_matching.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_unicode.rb", "./tests/test_json_addition.rb", "./tests/test_json_generate.rb", "./tests/test_json_encoding.rb", "./tests/test_json.rb"]
13
+ s.files = [".gitignore", ".travis.yml", "CHANGES", "COPYING", "COPYING-json-jruby", "GPL", "Gemfile", "README-json-jruby.markdown", "README.rdoc", "Rakefile", "TODO", "VERSION", "data/example.json", "data/index.html", "data/prototype.js", "diagrams/.keep", "ext/json/ext/fbuffer/fbuffer.h", "ext/json/ext/generator/extconf.rb", "ext/json/ext/generator/generator.c", "ext/json/ext/generator/generator.h", "ext/json/ext/parser/extconf.rb", "ext/json/ext/parser/parser.c", "ext/json/ext/parser/parser.h", "ext/json/ext/parser/parser.rl", "install.rb", "java/src/json/ext/ByteListTranscoder.java", "java/src/json/ext/Generator.java", "java/src/json/ext/GeneratorMethods.java", "java/src/json/ext/GeneratorService.java", "java/src/json/ext/GeneratorState.java", "java/src/json/ext/OptionsReader.java", "java/src/json/ext/Parser.java", "java/src/json/ext/Parser.rl", "java/src/json/ext/ParserService.java", "java/src/json/ext/RuntimeInfo.java", "java/src/json/ext/StringDecoder.java", "java/src/json/ext/StringEncoder.java", "java/src/json/ext/Utils.java", "json-java.gemspec", "json.gemspec", "json_pure.gemspec", "lib/json.rb", "lib/json/add/bigdecimal.rb", "lib/json/add/complex.rb", "lib/json/add/core.rb", "lib/json/add/date.rb", "lib/json/add/date_time.rb", "lib/json/add/exception.rb", "lib/json/add/ostruct.rb", "lib/json/add/range.rb", "lib/json/add/rational.rb", "lib/json/add/regexp.rb", "lib/json/add/struct.rb", "lib/json/add/symbol.rb", "lib/json/add/time.rb", "lib/json/common.rb", "lib/json/ext.rb", "lib/json/ext/.keep", "lib/json/generic_object.rb", "lib/json/pure.rb", "lib/json/pure/generator.rb", "lib/json/pure/parser.rb", "lib/json/version.rb", "tests/fixtures/fail1.json", "tests/fixtures/fail10.json", "tests/fixtures/fail11.json", "tests/fixtures/fail12.json", "tests/fixtures/fail13.json", "tests/fixtures/fail14.json", "tests/fixtures/fail18.json", "tests/fixtures/fail19.json", "tests/fixtures/fail2.json", "tests/fixtures/fail20.json", "tests/fixtures/fail21.json", "tests/fixtures/fail22.json", "tests/fixtures/fail23.json", "tests/fixtures/fail24.json", "tests/fixtures/fail25.json", "tests/fixtures/fail27.json", "tests/fixtures/fail28.json", "tests/fixtures/fail3.json", "tests/fixtures/fail4.json", "tests/fixtures/fail5.json", "tests/fixtures/fail6.json", "tests/fixtures/fail7.json", "tests/fixtures/fail8.json", "tests/fixtures/fail9.json", "tests/fixtures/pass1.json", "tests/fixtures/pass15.json", "tests/fixtures/pass16.json", "tests/fixtures/pass17.json", "tests/fixtures/pass2.json", "tests/fixtures/pass26.json", "tests/fixtures/pass3.json", "tests/setup_variant.rb", "tests/test_json.rb", "tests/test_json_addition.rb", "tests/test_json_encoding.rb", "tests/test_json_fixtures.rb", "tests/test_json_generate.rb", "tests/test_json_generic_object.rb", "tests/test_json_string_matching.rb", "tests/test_json_unicode.rb", "tools/fuzz.rb", "tools/server.rb", "./tests/test_json_string_matching.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_unicode.rb", "./tests/test_json_addition.rb", "./tests/test_json_generate.rb", "./tests/test_json_encoding.rb", "./tests/test_json_generic_object.rb", "./tests/test_json.rb"]
14
14
  s.homepage = "http://flori.github.com/json"
15
15
  s.rdoc_options = ["--title", "JSON implemention for ruby", "--main", "README.rdoc"]
16
16
  s.require_paths = ["lib"]
17
17
  s.rubyforge_project = "json"
18
- s.rubygems_version = "1.8.25"
18
+ s.rubygems_version = "1.8.23"
19
19
  s.summary = "JSON Implementation for Ruby"
20
- s.test_files = ["./tests/test_json_string_matching.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_unicode.rb", "./tests/test_json_addition.rb", "./tests/test_json_generate.rb", "./tests/test_json_encoding.rb", "./tests/test_json.rb"]
20
+ s.test_files = ["./tests/test_json_string_matching.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_unicode.rb", "./tests/test_json_addition.rb", "./tests/test_json_generate.rb", "./tests/test_json_encoding.rb", "./tests/test_json_generic_object.rb", "./tests/test_json.rb"]
21
21
 
22
22
  if s.respond_to? :specification_version then
23
23
  s.specification_version = 3
@@ -1,5 +1,5 @@
1
1
  require 'json/version'
2
- require 'json/light_object'
2
+ require 'json/generic_object'
3
3
 
4
4
  module JSON
5
5
  class << self
@@ -293,28 +293,21 @@ module JSON
293
293
  attr_accessor :load_default_options
294
294
  end
295
295
  self.load_default_options = {
296
- :max_nesting => false,
297
- :allow_nan => true,
298
- :quirks_mode => true,
299
- :create_additions => true,
296
+ :max_nesting => false,
297
+ :allow_nan => true,
298
+ :quirks_mode => true,
300
299
  }
301
300
 
302
301
  # Load a ruby data structure from a JSON _source_ and return it. A source can
303
302
  # either be a string-like object, an IO-like object, or an object responding
304
303
  # to the read method. If _proc_ was given, it will be called with any nested
305
- # Ruby object as an argument recursively in depth first order. To modify the
306
- # default options pass in the optional _options_ argument as well.
307
- #
308
- # BEWARE: This method is meant to serialise data from trusted user input,
309
- # like from your own database server or clients under your control, it could
310
- # be dangerous to allow untrusted users to pass JSON sources into it. The
311
- # default options for the parser can be changed via the load_default_options
312
- # method.
304
+ # Ruby object as an argument recursively in depth first order. The default
305
+ # options for the parser can be changed via the load_default_options method.
313
306
  #
314
307
  # This method is part of the implementation of the load/dump interface of
315
308
  # Marshal and YAML.
316
- def load(source, proc = nil, options = {})
317
- opts = load_default_options.merge options
309
+ def load(source, proc = nil)
310
+ opts = load_default_options
318
311
  if source.respond_to? :to_str
319
312
  source = source.to_str
320
313
  elsif source.respond_to? :to_io
@@ -1,7 +1,7 @@
1
1
  require 'ostruct'
2
2
 
3
3
  module JSON
4
- class LightObject < OpenStruct
4
+ class GenericObject < OpenStruct
5
5
  class << self
6
6
  alias [] new
7
7
 
@@ -17,11 +17,11 @@ module JSON
17
17
  end
18
18
 
19
19
  def [](name)
20
- to_hash[name.to_sym]
20
+ table[name.to_sym]
21
21
  end
22
22
 
23
23
  def []=(name, value)
24
- modifiable[name.to_sym] = value
24
+ __send__ "#{name}=", value
25
25
  end
26
26
 
27
27
  def |(other)
@@ -29,17 +29,11 @@ module JSON
29
29
  end
30
30
 
31
31
  def as_json(*)
32
- to_hash | { JSON.create_id => self.class.name }
32
+ { JSON.create_id => self.class.name }.merge to_hash
33
33
  end
34
34
 
35
35
  def to_json(*a)
36
36
  as_json.to_json(*a)
37
37
  end
38
-
39
- def method_missing(*a, &b)
40
- to_hash.__send__(*a, &b)
41
- rescue NoMethodError
42
- super
43
- end
44
38
  end
45
39
  end
@@ -63,9 +63,9 @@ module JSON
63
63
  # * *symbolize_names*: If set to true, returns symbols for the names
64
64
  # (keys) in a JSON object. Otherwise strings are returned, which is also
65
65
  # the default.
66
- # * *create_additions*: If set to true, the Parser creates
67
- # additions when if a matching class and create_id was found. This
68
- # option defaults to false.
66
+ # * *create_additions*: If set to false, the Parser doesn't create
67
+ # additions even if a matchin class and create_id was found. This option
68
+ # defaults to true.
69
69
  # * *object_class*: Defaults to Hash
70
70
  # * *array_class*: Defaults to Array
71
71
  # * *quirks_mode*: Enables quirks_mode for parser, that is for example
@@ -88,7 +88,7 @@ module JSON
88
88
  if opts.key?(:create_additions)
89
89
  @create_additions = !!opts[:create_additions]
90
90
  else
91
- @create_additions = false
91
+ @create_additions = true
92
92
  end
93
93
  @create_id = @create_additions ? JSON.create_id : nil
94
94
  @object_class = opts[:object_class] || Hash
@@ -1,6 +1,6 @@
1
1
  module JSON
2
2
  # JSON version
3
- VERSION = '1.6.8'
3
+ VERSION = '1.7.0'
4
4
  VERSION_ARRAY = VERSION.split(/\./).map { |x| x.to_i } # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
@@ -316,25 +316,25 @@ class TestJSON < Test::Unit::TestCase
316
316
  assert res.item_set?
317
317
  end
318
318
 
319
- def test_parse_light_object
320
- res = parse('{"foo":"bar", "baz":{}}', :object_class => JSON::LightObject)
321
- assert_equal(JSON::LightObject, res.class)
319
+ def test_parse_generic_object
320
+ res = parse('{"foo":"bar", "baz":{}}', :object_class => JSON::GenericObject)
321
+ assert_equal(JSON::GenericObject, res.class)
322
322
  assert_equal "bar", res.foo
323
323
  assert_equal "bar", res["foo"]
324
324
  assert_equal "bar", res[:foo]
325
325
  assert_equal "bar", res.to_hash[:foo]
326
- assert_equal(JSON::LightObject, res.baz.class)
326
+ assert_equal(JSON::GenericObject, res.baz.class)
327
327
  end
328
328
 
329
329
  def test_generate_core_subclasses_with_new_to_json
330
330
  obj = SubHash2["foo" => SubHash2["bar" => true]]
331
331
  obj_json = JSON(obj)
332
- obj_again = JSON.parse(obj_json, :create_additions => true)
332
+ obj_again = JSON(obj_json)
333
333
  assert_kind_of SubHash2, obj_again
334
334
  assert_kind_of SubHash2, obj_again['foo']
335
335
  assert obj_again['foo']['bar']
336
336
  assert_equal obj, obj_again
337
- assert_equal ["foo"], JSON(JSON(SubArray2["foo"]), :create_additions => true)
337
+ assert_equal ["foo"], JSON(JSON(SubArray2["foo"]))
338
338
  end
339
339
 
340
340
  def test_generate_core_subclasses_with_default_to_json
@@ -493,12 +493,6 @@ EOT
493
493
  assert_equal nil, JSON.load('')
494
494
  end
495
495
 
496
- def test_load_with_options
497
- small_hash = JSON("foo" => 'bar')
498
- symbol_hash = { :foo => 'bar' }
499
- assert_equal symbol_hash, JSON.load(small_hash, nil, :symbolize_names => true)
500
- end
501
-
502
496
  def test_dump
503
497
  too_deep = '[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]'
504
498
  assert_equal too_deep, JSON.dump(eval(too_deep))
@@ -73,19 +73,11 @@ class TestJSONAddition < Test::Unit::TestCase
73
73
  a = A.new(666)
74
74
  assert A.json_creatable?
75
75
  json = generate(a)
76
- a_again = JSON.parse(json, :create_additions => true)
76
+ a_again = JSON.parse(json)
77
77
  assert_kind_of a.class, a_again
78
78
  assert_equal a, a_again
79
79
  end
80
80
 
81
- def test_extended_json_default
82
- a = A.new(666)
83
- assert A.json_creatable?
84
- json = generate(a)
85
- a_hash = JSON.parse(json)
86
- assert_kind_of Hash, a_hash
87
- end
88
-
89
81
  def test_extended_json_disabled
90
82
  a = A.new(666)
91
83
  assert A.json_creatable?
@@ -112,7 +104,7 @@ class TestJSONAddition < Test::Unit::TestCase
112
104
  c = C.new
113
105
  assert !C.json_creatable?
114
106
  json = generate(c)
115
- assert_raises(ArgumentError, NameError) { JSON.parse(json, :create_additions => true) }
107
+ assert_raises(ArgumentError, NameError) { JSON.parse(json) }
116
108
  end
117
109
 
118
110
  def test_raw_strings
@@ -130,7 +122,7 @@ class TestJSONAddition < Test::Unit::TestCase
130
122
  assert_match(/\A\{.*\}\Z/, json)
131
123
  assert_match(/"json_class":"String"/, json)
132
124
  assert_match(/"raw":\[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255\]/, json)
133
- raw_again = JSON.parse(json, :create_additions => true)
125
+ raw_again = JSON.parse(json)
134
126
  assert_equal raw, raw_again
135
127
  end
136
128
 
@@ -138,17 +130,17 @@ class TestJSONAddition < Test::Unit::TestCase
138
130
 
139
131
  def test_core
140
132
  t = Time.now
141
- assert_equal t, JSON(JSON(t), :create_additions => true)
133
+ assert_equal t, JSON(JSON(t))
142
134
  d = Date.today
143
- assert_equal d, JSON(JSON(d), :create_additions => true)
135
+ assert_equal d, JSON(JSON(d))
144
136
  d = DateTime.civil(2007, 6, 14, 14, 57, 10, Rational(1, 12), 2299161)
145
- assert_equal d, JSON(JSON(d), :create_additions => true)
146
- assert_equal 1..10, JSON(JSON(1..10), :create_additions => true)
147
- assert_equal 1...10, JSON(JSON(1...10), :create_additions => true)
148
- assert_equal "a".."c", JSON(JSON("a".."c"), :create_additions => true)
149
- assert_equal "a"..."c", JSON(JSON("a"..."c"), :create_additions => true)
137
+ assert_equal d, JSON(JSON(d))
138
+ assert_equal 1..10, JSON(JSON(1..10))
139
+ assert_equal 1...10, JSON(JSON(1...10))
140
+ assert_equal "a".."c", JSON(JSON("a".."c"))
141
+ assert_equal "a"..."c", JSON(JSON("a"..."c"))
150
142
  s = MyJsonStruct.new 4711, 'foot'
151
- assert_equal s, JSON(JSON(s), :create_additions => true)
143
+ assert_equal s, JSON(JSON(s))
152
144
  struct = Struct.new :foo, :bar
153
145
  s = struct.new 4711, 'foot'
154
146
  assert_raises(JSONError) { JSON(s) }
@@ -156,41 +148,41 @@ class TestJSONAddition < Test::Unit::TestCase
156
148
  raise TypeError, "test me"
157
149
  rescue TypeError => e
158
150
  e_json = JSON.generate e
159
- e_again = JSON e_json, :create_additions => true
151
+ e_again = JSON e_json
160
152
  assert_kind_of TypeError, e_again
161
153
  assert_equal e.message, e_again.message
162
154
  assert_equal e.backtrace, e_again.backtrace
163
155
  end
164
- assert_equal(/foo/, JSON(JSON(/foo/), :create_additions => true))
165
- assert_equal(/foo/i, JSON(JSON(/foo/i), :create_additions => true))
156
+ assert_equal(/foo/, JSON(JSON(/foo/)))
157
+ assert_equal(/foo/i, JSON(JSON(/foo/i)))
166
158
  end
167
159
 
168
160
  def test_utc_datetime
169
161
  now = Time.now
170
- d = DateTime.parse(now.to_s, :create_additions => true) # usual case
171
- assert_equal d, JSON.parse(d.to_json, :create_additions => true)
162
+ d = DateTime.parse(now.to_s) # usual case
163
+ assert_equal d, JSON.parse(d.to_json)
172
164
  d = DateTime.parse(now.utc.to_s) # of = 0
173
- assert_equal d, JSON.parse(d.to_json, :create_additions => true)
165
+ assert_equal d, JSON.parse(d.to_json)
174
166
  d = DateTime.civil(2008, 6, 17, 11, 48, 32, Rational(1,24))
175
- assert_equal d, JSON.parse(d.to_json, :create_additions => true)
167
+ assert_equal d, JSON.parse(d.to_json)
176
168
  d = DateTime.civil(2008, 6, 17, 11, 48, 32, Rational(12,24))
177
- assert_equal d, JSON.parse(d.to_json, :create_additions => true)
169
+ assert_equal d, JSON.parse(d.to_json)
178
170
  end
179
171
 
180
172
  def test_rational_complex
181
- assert_equal Rational(2, 9), JSON.parse(JSON(Rational(2, 9)), :create_additions => true)
182
- assert_equal Complex(2, 9), JSON.parse(JSON(Complex(2, 9)), :create_additions => true)
173
+ assert_equal Rational(2, 9), JSON(JSON(Rational(2, 9)))
174
+ assert_equal Complex(2, 9), JSON(JSON(Complex(2, 9)))
183
175
  end
184
176
 
185
177
  def test_bigdecimal
186
- assert_equal BigDecimal('3.141', 23), JSON(JSON(BigDecimal('3.141', 23)), :create_additions => true)
187
- assert_equal BigDecimal('3.141', 666), JSON(JSON(BigDecimal('3.141', 666)), :create_additions => true)
178
+ assert_equal BigDecimal('3.141', 23), JSON(JSON(BigDecimal('3.141', 23)))
179
+ assert_equal BigDecimal('3.141', 666), JSON(JSON(BigDecimal('3.141', 666)))
188
180
  end
189
181
 
190
182
  def test_ostruct
191
183
  o = OpenStruct.new
192
184
  # XXX this won't work; o.foo = { :bar => true }
193
185
  o.foo = { 'bar' => true }
194
- assert_equal o, JSON.parse(JSON(o), :create_additions => true)
186
+ assert_equal o, JSON(JSON(o))
195
187
  end
196
188
  end
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+ # -*- coding: utf-8 -*-
3
+
4
+ require 'test/unit'
5
+ require File.join(File.dirname(__FILE__), 'setup_variant')
6
+ class TestJSONGenericObject < Test::Unit::TestCase
7
+ include JSON
8
+
9
+ def setup
10
+ @go = GenericObject[ :a => 1, :b => 2 ]
11
+ end
12
+
13
+ def test_attributes
14
+ assert_equal 1, @go.a
15
+ assert_equal 1, @go[:a]
16
+ assert_equal 2, @go.b
17
+ assert_equal 2, @go[:b]
18
+ assert_nil @go.c
19
+ assert_nil @go[:c]
20
+ end
21
+
22
+ def test_generate_json
23
+ assert_equal @go, JSON(JSON(@go))
24
+ end
25
+
26
+ def test_parse_json
27
+ assert_equal @go, l = JSON('{ "json_class": "JSON::GenericObject", "a": 1, "b": 2 }')
28
+ assert_equal 1, l.a
29
+ assert_equal @go, l = JSON('{ "a": 1, "b": 2 }', :object_class => GenericObject)
30
+ assert_equal 1, l.a
31
+ assert_equal GenericObject[:a => GenericObject[:b => 2]],
32
+ l = JSON('{ "a": { "b": 2 } }', :object_class => GenericObject)
33
+ assert_equal 2, l.a.b
34
+ end
35
+ end
@@ -27,13 +27,14 @@ class TestJSONStringMatching < Test::Unit::TestCase
27
27
  t = TestTime.new
28
28
  t_json = [ t ].to_json
29
29
  assert_equal [ t ],
30
- JSON.parse(t_json, :create_additions => true,
31
- :match_string => { /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\z/ => TestTime })
30
+ JSON.parse(t_json,
31
+ :match_string => { /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\Z/ => TestTime })
32
32
  assert_equal [ t.strftime('%FT%T%z') ],
33
- JSON.parse(t_json, :create_additions => true,
34
- :match_string => { /\A\d{3}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\z/ => TestTime })
33
+ JSON.parse(t_json,
34
+ :match_string => { /\A\d{3}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\Z/ => TestTime })
35
35
  assert_equal [ t.strftime('%FT%T%z') ],
36
36
  JSON.parse(t_json,
37
- :match_string => { /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\z/ => TestTime })
37
+ :match_string => { /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\Z/ => TestTime },
38
+ :create_additions => false)
38
39
  end
39
40
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.8
4
+ version: 1.7.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-10 00:00:00.000000000 Z
12
+ date: 2012-04-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: permutation
@@ -47,8 +47,8 @@ description: This is a JSON implementation as a Ruby extension in C.
47
47
  email: flori@ping.de
48
48
  executables: []
49
49
  extensions:
50
- - ext/json/ext/generator/extconf.rb
51
50
  - ext/json/ext/parser/extconf.rb
51
+ - ext/json/ext/generator/extconf.rb
52
52
  extra_rdoc_files:
53
53
  - README.rdoc
54
54
  files:
@@ -110,7 +110,7 @@ files:
110
110
  - lib/json/common.rb
111
111
  - lib/json/ext.rb
112
112
  - lib/json/ext/.keep
113
- - lib/json/light_object.rb
113
+ - lib/json/generic_object.rb
114
114
  - lib/json/pure.rb
115
115
  - lib/json/pure/generator.rb
116
116
  - lib/json/pure/parser.rb
@@ -152,6 +152,7 @@ files:
152
152
  - tests/test_json_encoding.rb
153
153
  - tests/test_json_fixtures.rb
154
154
  - tests/test_json_generate.rb
155
+ - tests/test_json_generic_object.rb
155
156
  - tests/test_json_string_matching.rb
156
157
  - tests/test_json_unicode.rb
157
158
  - tools/fuzz.rb
@@ -162,6 +163,7 @@ files:
162
163
  - ./tests/test_json_addition.rb
163
164
  - ./tests/test_json_generate.rb
164
165
  - ./tests/test_json_encoding.rb
166
+ - ./tests/test_json_generic_object.rb
165
167
  - ./tests/test_json.rb
166
168
  homepage: http://flori.github.com/json
167
169
  licenses: []
@@ -183,7 +185,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
183
185
  version: '0'
184
186
  segments:
185
187
  - 0
186
- hash: -1822326381843360989
188
+ hash: 2019846975895868082
187
189
  required_rubygems_version: !ruby/object:Gem::Requirement
188
190
  none: false
189
191
  requirements:
@@ -192,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
192
194
  version: '0'
193
195
  requirements: []
194
196
  rubyforge_project: json
195
- rubygems_version: 1.8.25
197
+ rubygems_version: 1.8.23
196
198
  signing_key:
197
199
  specification_version: 3
198
200
  summary: JSON Implementation for Ruby
@@ -203,4 +205,5 @@ test_files:
203
205
  - ./tests/test_json_addition.rb
204
206
  - ./tests/test_json_generate.rb
205
207
  - ./tests/test_json_encoding.rb
208
+ - ./tests/test_json_generic_object.rb
206
209
  - ./tests/test_json.rb