json 2.2.0 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +71 -5
  3. data/LICENSE +56 -0
  4. data/README.md +20 -4
  5. data/VERSION +1 -1
  6. data/ext/json/ext/generator/generator.c +222 -58
  7. data/ext/json/ext/generator/generator.h +5 -2
  8. data/ext/json/ext/parser/extconf.rb +26 -0
  9. data/ext/json/ext/parser/parser.c +2980 -1764
  10. data/ext/json/ext/parser/parser.h +6 -1
  11. data/ext/json/ext/parser/parser.rl +138 -43
  12. data/ext/json/extconf.rb +1 -0
  13. data/json.gemspec +0 -0
  14. data/lib/json/add/bigdecimal.rb +2 -2
  15. data/lib/json/add/complex.rb +2 -3
  16. data/lib/json/add/rational.rb +2 -3
  17. data/lib/json/add/regexp.rb +2 -2
  18. data/lib/json/common.rb +372 -125
  19. data/lib/json/pure/generator.rb +31 -10
  20. data/lib/json/pure/parser.rb +32 -6
  21. data/lib/json/version.rb +1 -1
  22. data/lib/json.rb +549 -29
  23. metadata +18 -109
  24. data/.gitignore +0 -17
  25. data/.travis.yml +0 -23
  26. data/Gemfile +0 -14
  27. data/README-json-jruby.md +0 -33
  28. data/Rakefile +0 -408
  29. data/diagrams/.keep +0 -0
  30. data/install.rb +0 -23
  31. data/java/src/json/ext/ByteListTranscoder.java +0 -166
  32. data/java/src/json/ext/Generator.java +0 -443
  33. data/java/src/json/ext/GeneratorMethods.java +0 -231
  34. data/java/src/json/ext/GeneratorService.java +0 -42
  35. data/java/src/json/ext/GeneratorState.java +0 -490
  36. data/java/src/json/ext/OptionsReader.java +0 -113
  37. data/java/src/json/ext/Parser.java +0 -2362
  38. data/java/src/json/ext/Parser.rl +0 -893
  39. data/java/src/json/ext/ParserService.java +0 -34
  40. data/java/src/json/ext/RuntimeInfo.java +0 -116
  41. data/java/src/json/ext/StringDecoder.java +0 -166
  42. data/java/src/json/ext/StringEncoder.java +0 -111
  43. data/java/src/json/ext/Utils.java +0 -88
  44. data/json-java.gemspec +0 -38
  45. data/json_pure.gemspec +0 -38
  46. data/lib/json/ext/.keep +0 -0
  47. data/references/rfc7159.txt +0 -899
  48. data/tests/fixtures/fail10.json +0 -1
  49. data/tests/fixtures/fail11.json +0 -1
  50. data/tests/fixtures/fail12.json +0 -1
  51. data/tests/fixtures/fail13.json +0 -1
  52. data/tests/fixtures/fail14.json +0 -1
  53. data/tests/fixtures/fail18.json +0 -1
  54. data/tests/fixtures/fail19.json +0 -1
  55. data/tests/fixtures/fail2.json +0 -1
  56. data/tests/fixtures/fail20.json +0 -1
  57. data/tests/fixtures/fail21.json +0 -1
  58. data/tests/fixtures/fail22.json +0 -1
  59. data/tests/fixtures/fail23.json +0 -1
  60. data/tests/fixtures/fail24.json +0 -1
  61. data/tests/fixtures/fail25.json +0 -1
  62. data/tests/fixtures/fail27.json +0 -2
  63. data/tests/fixtures/fail28.json +0 -2
  64. data/tests/fixtures/fail3.json +0 -1
  65. data/tests/fixtures/fail4.json +0 -1
  66. data/tests/fixtures/fail5.json +0 -1
  67. data/tests/fixtures/fail6.json +0 -1
  68. data/tests/fixtures/fail7.json +0 -1
  69. data/tests/fixtures/fail8.json +0 -1
  70. data/tests/fixtures/fail9.json +0 -1
  71. data/tests/fixtures/obsolete_fail1.json +0 -1
  72. data/tests/fixtures/pass1.json +0 -56
  73. data/tests/fixtures/pass15.json +0 -1
  74. data/tests/fixtures/pass16.json +0 -1
  75. data/tests/fixtures/pass17.json +0 -1
  76. data/tests/fixtures/pass2.json +0 -1
  77. data/tests/fixtures/pass26.json +0 -1
  78. data/tests/fixtures/pass3.json +0 -6
  79. data/tests/json_addition_test.rb +0 -203
  80. data/tests/json_common_interface_test.rb +0 -126
  81. data/tests/json_encoding_test.rb +0 -107
  82. data/tests/json_ext_parser_test.rb +0 -15
  83. data/tests/json_fixtures_test.rb +0 -32
  84. data/tests/json_generator_test.rb +0 -377
  85. data/tests/json_generic_object_test.rb +0 -82
  86. data/tests/json_parser_test.rb +0 -472
  87. data/tests/json_string_matching_test.rb +0 -38
  88. data/tests/test_helper.rb +0 -17
  89. data/tools/diff.sh +0 -18
  90. data/tools/fuzz.rb +0 -131
  91. data/tools/server.rb +0 -62
data/tools/server.rb DELETED
@@ -1,62 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # encoding: utf-8
3
-
4
- require 'webrick'
5
- include WEBrick
6
- $:.unshift 'ext'
7
- $:.unshift 'lib'
8
- require 'json'
9
-
10
- class JSONServlet < HTTPServlet::AbstractServlet
11
- @@count = 1
12
-
13
- def do_GET(req, res)
14
- obj = {
15
- "TIME" => Time.now.strftime("%FT%T"),
16
- "foo" => "Bär",
17
- "bar" => "© ≠ €!",
18
- 'a' => 2,
19
- 'b' => 3.141,
20
- 'COUNT' => @@count += 1,
21
- 'c' => 'c',
22
- 'd' => [ 1, "b", 3.14 ],
23
- 'e' => { 'foo' => 'bar' },
24
- 'g' => "松本行弘",
25
- 'h' => 1000.0,
26
- 'i' => 0.001,
27
- 'j' => "\xf0\xa0\x80\x81",
28
- }
29
- res.body = JSON.generate obj
30
- res['Content-Type'] = "application/json"
31
- end
32
- end
33
-
34
- def create_server(err, dir, port)
35
- dir = File.expand_path(dir)
36
- err.puts "Surf to:", "http://#{Socket.gethostname}:#{port}"
37
-
38
- s = HTTPServer.new(
39
- :Port => port,
40
- :DocumentRoot => dir,
41
- :Logger => WEBrick::Log.new(err),
42
- :AccessLog => [
43
- [ err, WEBrick::AccessLog::COMMON_LOG_FORMAT ],
44
- [ err, WEBrick::AccessLog::REFERER_LOG_FORMAT ],
45
- [ err, WEBrick::AccessLog::AGENT_LOG_FORMAT ]
46
- ]
47
- )
48
- s.mount("/json", JSONServlet)
49
- s
50
- end
51
-
52
- default_dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'data'))
53
- dir = ARGV.shift || default_dir
54
- port = (ARGV.shift || 6666).to_i
55
- s = create_server(STDERR, dir, 6666)
56
- t = Thread.new { s.start }
57
- trap(:INT) do
58
- s.shutdown
59
- t.join
60
- exit
61
- end
62
- sleep