json 1.1.5-x86-linux

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.

Files changed (117) hide show
  1. data/CHANGES +106 -0
  2. data/GPL +340 -0
  3. data/README +78 -0
  4. data/RUBY +58 -0
  5. data/Rakefile +268 -0
  6. data/TODO +1 -0
  7. data/VERSION +1 -0
  8. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log +52 -0
  9. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat +1000 -0
  10. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat +1001 -0
  11. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat +900 -0
  12. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat +901 -0
  13. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat +1000 -0
  14. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat +1001 -0
  15. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log +261 -0
  16. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat +1000 -0
  17. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat +1001 -0
  18. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat +1000 -0
  19. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat +1001 -0
  20. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat +1000 -0
  21. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat +1001 -0
  22. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log +262 -0
  23. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat +1000 -0
  24. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat +1001 -0
  25. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log +82 -0
  26. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log +34 -0
  27. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat +900 -0
  28. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat +901 -0
  29. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log +81 -0
  30. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat +1000 -0
  31. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat +1001 -0
  32. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log +82 -0
  33. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat +1000 -0
  34. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat +1001 -0
  35. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log +82 -0
  36. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat +1000 -0
  37. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat +1001 -0
  38. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log +82 -0
  39. data/benchmarks/generator_benchmark.rb +165 -0
  40. data/benchmarks/parser_benchmark.rb +197 -0
  41. data/bin/edit_json.rb +9 -0
  42. data/bin/prettify_json.rb +75 -0
  43. data/data/example.json +1 -0
  44. data/data/index.html +38 -0
  45. data/data/prototype.js +4184 -0
  46. data/doc-templates/main.txt +283 -0
  47. data/ext/json/ext/generator/extconf.rb +11 -0
  48. data/ext/json/ext/generator/generator.c +919 -0
  49. data/ext/json/ext/generator/unicode.c +182 -0
  50. data/ext/json/ext/generator/unicode.h +53 -0
  51. data/ext/json/ext/parser/extconf.rb +11 -0
  52. data/ext/json/ext/parser/parser.c +1829 -0
  53. data/ext/json/ext/parser/parser.rl +686 -0
  54. data/ext/json/ext/parser/unicode.c +154 -0
  55. data/ext/json/ext/parser/unicode.h +58 -0
  56. data/install.rb +26 -0
  57. data/lib/json.rb +10 -0
  58. data/lib/json/Array.xpm +21 -0
  59. data/lib/json/FalseClass.xpm +21 -0
  60. data/lib/json/Hash.xpm +21 -0
  61. data/lib/json/Key.xpm +73 -0
  62. data/lib/json/NilClass.xpm +21 -0
  63. data/lib/json/Numeric.xpm +28 -0
  64. data/lib/json/String.xpm +96 -0
  65. data/lib/json/TrueClass.xpm +21 -0
  66. data/lib/json/add/core.rb +135 -0
  67. data/lib/json/add/rails.rb +58 -0
  68. data/lib/json/common.rb +354 -0
  69. data/lib/json/editor.rb +1371 -0
  70. data/lib/json/ext.rb +15 -0
  71. data/lib/json/ext/generator.so +0 -0
  72. data/lib/json/ext/parser.so +0 -0
  73. data/lib/json/json.xpm +1499 -0
  74. data/lib/json/pure.rb +77 -0
  75. data/lib/json/pure/generator.rb +430 -0
  76. data/lib/json/pure/parser.rb +267 -0
  77. data/lib/json/version.rb +8 -0
  78. data/tests/fixtures/fail1.json +1 -0
  79. data/tests/fixtures/fail10.json +1 -0
  80. data/tests/fixtures/fail11.json +1 -0
  81. data/tests/fixtures/fail12.json +1 -0
  82. data/tests/fixtures/fail13.json +1 -0
  83. data/tests/fixtures/fail14.json +1 -0
  84. data/tests/fixtures/fail18.json +1 -0
  85. data/tests/fixtures/fail19.json +1 -0
  86. data/tests/fixtures/fail2.json +1 -0
  87. data/tests/fixtures/fail20.json +1 -0
  88. data/tests/fixtures/fail21.json +1 -0
  89. data/tests/fixtures/fail22.json +1 -0
  90. data/tests/fixtures/fail23.json +1 -0
  91. data/tests/fixtures/fail24.json +1 -0
  92. data/tests/fixtures/fail25.json +1 -0
  93. data/tests/fixtures/fail27.json +2 -0
  94. data/tests/fixtures/fail28.json +2 -0
  95. data/tests/fixtures/fail3.json +1 -0
  96. data/tests/fixtures/fail4.json +1 -0
  97. data/tests/fixtures/fail5.json +1 -0
  98. data/tests/fixtures/fail6.json +1 -0
  99. data/tests/fixtures/fail7.json +1 -0
  100. data/tests/fixtures/fail8.json +1 -0
  101. data/tests/fixtures/fail9.json +1 -0
  102. data/tests/fixtures/pass1.json +56 -0
  103. data/tests/fixtures/pass15.json +1 -0
  104. data/tests/fixtures/pass16.json +1 -0
  105. data/tests/fixtures/pass17.json +1 -0
  106. data/tests/fixtures/pass2.json +1 -0
  107. data/tests/fixtures/pass26.json +1 -0
  108. data/tests/fixtures/pass3.json +6 -0
  109. data/tests/test_json.rb +312 -0
  110. data/tests/test_json_addition.rb +164 -0
  111. data/tests/test_json_fixtures.rb +34 -0
  112. data/tests/test_json_generate.rb +106 -0
  113. data/tests/test_json_rails.rb +146 -0
  114. data/tests/test_json_unicode.rb +62 -0
  115. data/tools/fuzz.rb +139 -0
  116. data/tools/server.rb +61 -0
  117. metadata +200 -0
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env ruby
2
+ # -*- coding: utf-8 -*-
3
+
4
+ require 'test/unit'
5
+ case ENV['JSON']
6
+ when 'pure' then require 'json/pure'
7
+ when 'ext' then require 'json/ext'
8
+ else require 'json'
9
+ end
10
+
11
+ class TC_JSONUnicode < Test::Unit::TestCase
12
+ include JSON
13
+
14
+ def test_unicode
15
+ assert_equal '""', ''.to_json
16
+ assert_equal '"\\b"', "\b".to_json
17
+ assert_equal '"\u0001"', 0x1.chr.to_json
18
+ assert_equal '"\u001f"', 0x1f.chr.to_json
19
+ assert_equal '" "', ' '.to_json
20
+ assert_equal "\"#{0x7f.chr}\"", 0x7f.chr.to_json
21
+ utf8 = [ "© ≠ €! \01" ]
22
+ json = '["\u00a9 \u2260 \u20ac! \u0001"]'
23
+ assert_equal json, utf8.to_json
24
+ assert_equal utf8, parse(json)
25
+ utf8 = ["\343\201\202\343\201\204\343\201\206\343\201\210\343\201\212"]
26
+ json = "[\"\\u3042\\u3044\\u3046\\u3048\\u304a\"]"
27
+ assert_equal json, utf8.to_json
28
+ assert_equal utf8, parse(json)
29
+ utf8 = ['საქართველო']
30
+ json = "[\"\\u10e1\\u10d0\\u10e5\\u10d0\\u10e0\\u10d7\\u10d5\\u10d4\\u10da\\u10dd\"]"
31
+ assert_equal json, utf8.to_json
32
+ assert_equal utf8, parse(json)
33
+ assert_equal '["\\u00c3"]', JSON.generate(["Ã"])
34
+ assert_equal ["€"], JSON.parse('["\u20ac"]')
35
+ utf8 = ["\xf0\xa0\x80\x81"]
36
+ json = '["\ud840\udc01"]'
37
+ assert_equal json, JSON.generate(utf8)
38
+ assert_equal utf8, JSON.parse(json)
39
+ end
40
+
41
+ def test_chars
42
+ (0..0x7f).each do |i|
43
+ json = '["\u%04x"]' % i
44
+ if RUBY_VERSION >= "1.9."
45
+ i = i.chr
46
+ end
47
+ assert_equal i, JSON.parse(json).first[0]
48
+ if i == ?\b
49
+ generated = JSON.generate(["" << i])
50
+ assert '["\b"]' == generated || '["\10"]' == generated
51
+ elsif [?\n, ?\r, ?\t, ?\f].include?(i)
52
+ assert_equal '[' << ('' << i).dump << ']', JSON.generate(["" << i])
53
+ elsif i.chr < 0x20.chr
54
+ assert_equal json, JSON.generate(["" << i])
55
+ end
56
+ end
57
+ assert_raise(JSON::GeneratorError) do
58
+ JSON.generate(["\x80"])
59
+ end
60
+ assert_equal "\302\200", JSON.parse('["\u0080"]').first
61
+ end
62
+ end
@@ -0,0 +1,139 @@
1
+ require 'json'
2
+
3
+ require 'iconv'
4
+ ISO_8859_1_TO_UTF8 = Iconv.new('utf-8', 'iso-8859-15')
5
+ class ::String
6
+ def to_utf8
7
+ ISO_8859_1_TO_UTF8.iconv self
8
+ end
9
+ end
10
+
11
+ class Fuzzer
12
+ def initialize(n, freqs = {})
13
+ sum = freqs.inject(0.0) { |s, x| s + x.last }
14
+ freqs.each_key { |x| freqs[x] /= sum }
15
+ s = 0.0
16
+ freqs.each_key do |x|
17
+ freqs[x] = s .. (s + t = freqs[x])
18
+ s += t
19
+ end
20
+ @freqs = freqs
21
+ @n = n
22
+ @alpha = (0..0xff).to_a
23
+ end
24
+
25
+ def random_string
26
+ s = ''
27
+ 30.times { s << @alpha[rand(@alpha.size)] }
28
+ s.to_utf8
29
+ end
30
+
31
+ def pick
32
+ r = rand
33
+ found = @freqs.find { |k, f| f.include? rand }
34
+ found && found.first
35
+ end
36
+
37
+ def make_pick
38
+ k = pick
39
+ case
40
+ when k == Hash, k == Array
41
+ k.new
42
+ when k == true, k == false, k == nil
43
+ k
44
+ when k == String
45
+ random_string
46
+ when k == Fixnum
47
+ rand(2 ** 30) - 2 ** 29
48
+ when k == Bignum
49
+ rand(2 ** 70) - 2 ** 69
50
+ end
51
+ end
52
+
53
+ def fuzz(current = nil)
54
+ if @n > 0
55
+ case current
56
+ when nil
57
+ @n -= 1
58
+ current = fuzz [ Hash, Array ][rand(2)].new
59
+ when Array
60
+ while @n > 0
61
+ @n -= 1
62
+ current << case p = make_pick
63
+ when Array, Hash
64
+ fuzz(p)
65
+ else
66
+ p
67
+ end
68
+ end
69
+ when Hash
70
+ while @n > 0
71
+ @n -= 1
72
+ current[random_string] = case p = make_pick
73
+ when Array, Hash
74
+ fuzz(p)
75
+ else
76
+ p
77
+ end
78
+ end
79
+ end
80
+ end
81
+ current
82
+ end
83
+ end
84
+
85
+ class MyState < JSON.state
86
+ WS = " \r\t\n"
87
+
88
+ def initialize
89
+ super(
90
+ :indent => make_spaces,
91
+ :space => make_spaces,
92
+ :space_before => make_spaces,
93
+ :object_nl => make_spaces,
94
+ :array_nl => make_spaces,
95
+ :max_nesting => false
96
+ )
97
+ end
98
+
99
+ def make_spaces
100
+ s = ''
101
+ rand(1).times { s << WS[rand(WS.size)] }
102
+ s
103
+ end
104
+ end
105
+
106
+ n = (ARGV.shift || 500).to_i
107
+ loop do
108
+ fuzzer = Fuzzer.new(n,
109
+ Hash => 25,
110
+ Array => 25,
111
+ String => 10,
112
+ Fixnum => 10,
113
+ Bignum => 10,
114
+ nil => 5,
115
+ true => 5,
116
+ false => 5
117
+ )
118
+ o1 = fuzzer.fuzz
119
+ json = JSON.generate o1, MyState.new
120
+ if $DEBUG
121
+ puts "-" * 80
122
+ puts json, json.size
123
+ else
124
+ puts json.size
125
+ end
126
+ begin
127
+ o2 = JSON.parse(json, :max_nesting => false)
128
+ rescue JSON::ParserError => e
129
+ puts "Caught #{e.class}: #{e.message}\n#{e.backtrace * "\n"}"
130
+ puts "o1 = #{o1.inspect}", "json = #{json}", "json_str = #{json.inspect}"
131
+ puts "locals = #{local_variables.inspect}"
132
+ exit
133
+ end
134
+ if o1 != o2
135
+ puts "mismatch", "o1 = #{o1.inspect}", "o2 = #{o2.inspect}",
136
+ "json = #{json}", "json_str = #{json.inspect}"
137
+ puts "locals = #{local_variables.inspect}"
138
+ end
139
+ end
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'webrick'
4
+ include WEBrick
5
+ $:.unshift 'ext'
6
+ $:.unshift 'lib'
7
+ require 'json'
8
+
9
+ class JSONServlet < HTTPServlet::AbstractServlet
10
+ @@count = 1
11
+
12
+ def do_GET(req, res)
13
+ obj = {
14
+ "TIME" => Time.now.strftime("%FT%T"),
15
+ "foo" => "Bär",
16
+ "bar" => "© ≠ €!",
17
+ 'a' => 2,
18
+ 'b' => 3.141,
19
+ 'COUNT' => @@count += 1,
20
+ 'c' => 'c',
21
+ 'd' => [ 1, "b", 3.14 ],
22
+ 'e' => { 'foo' => 'bar' },
23
+ 'g' => "松本行弘",
24
+ 'h' => 1000.0,
25
+ 'i' => 0.001,
26
+ 'j' => "\xf0\xa0\x80\x81",
27
+ }
28
+ res.body = JSON.generate obj
29
+ res['Content-Type'] = "application/json"
30
+ end
31
+ end
32
+
33
+ def create_server(err, dir, port)
34
+ dir = File.expand_path(dir)
35
+ err.puts "Surf to:", "http://#{Socket.gethostname}:#{port}"
36
+
37
+ s = HTTPServer.new(
38
+ :Port => port,
39
+ :DocumentRoot => dir,
40
+ :Logger => WEBrick::Log.new(err),
41
+ :AccessLog => [
42
+ [ err, WEBrick::AccessLog::COMMON_LOG_FORMAT ],
43
+ [ err, WEBrick::AccessLog::REFERER_LOG_FORMAT ],
44
+ [ err, WEBrick::AccessLog::AGENT_LOG_FORMAT ]
45
+ ]
46
+ )
47
+ s.mount("/json", JSONServlet)
48
+ s
49
+ end
50
+
51
+ default_dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'data'))
52
+ dir = ARGV.shift || default_dir
53
+ port = (ARGV.shift || 6666).to_i
54
+ s = create_server(STDERR, dir, 6666)
55
+ t = Thread.new { s.start }
56
+ trap(:INT) do
57
+ s.shutdown
58
+ t.join
59
+ exit
60
+ end
61
+ sleep
metadata ADDED
@@ -0,0 +1,200 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: json
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.5
5
+ platform: x86-linux
6
+ authors:
7
+ - Florian Frank
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-05-10 00:00:00 +02:00
13
+ default_executable: edit_json.rb
14
+ dependencies: []
15
+
16
+ description: ""
17
+ email: flori@ping.de
18
+ executables:
19
+ - edit_json.rb
20
+ - prettify_json.rb
21
+ extensions: []
22
+
23
+ extra_rdoc_files: []
24
+
25
+ files:
26
+ - GPL
27
+ - tests
28
+ - tests/test_json_unicode.rb
29
+ - tests/test_json.rb
30
+ - tests/test_json_addition.rb
31
+ - tests/fixtures
32
+ - tests/fixtures/fail1.json
33
+ - tests/fixtures/fail18.json
34
+ - tests/fixtures/fail13.json
35
+ - tests/fixtures/fail3.json
36
+ - tests/fixtures/fail10.json
37
+ - tests/fixtures/fail6.json
38
+ - tests/fixtures/fail20.json
39
+ - tests/fixtures/pass1.json
40
+ - tests/fixtures/fail28.json
41
+ - tests/fixtures/fail21.json
42
+ - tests/fixtures/pass26.json
43
+ - tests/fixtures/fail22.json
44
+ - tests/fixtures/pass15.json
45
+ - tests/fixtures/fail11.json
46
+ - tests/fixtures/fail19.json
47
+ - tests/fixtures/fail2.json
48
+ - tests/fixtures/fail8.json
49
+ - tests/fixtures/pass16.json
50
+ - tests/fixtures/fail24.json
51
+ - tests/fixtures/fail23.json
52
+ - tests/fixtures/pass3.json
53
+ - tests/fixtures/fail7.json
54
+ - tests/fixtures/pass2.json
55
+ - tests/fixtures/pass17.json
56
+ - tests/fixtures/fail14.json
57
+ - tests/fixtures/fail9.json
58
+ - tests/fixtures/fail12.json
59
+ - tests/fixtures/fail27.json
60
+ - tests/fixtures/fail4.json
61
+ - tests/fixtures/fail5.json
62
+ - tests/fixtures/fail25.json
63
+ - tests/test_json_generate.rb
64
+ - tests/test_json_rails.rb
65
+ - tests/test_json_fixtures.rb
66
+ - install.rb
67
+ - ext
68
+ - ext/json
69
+ - ext/json/ext
70
+ - ext/json/ext/generator
71
+ - ext/json/ext/generator/unicode.h
72
+ - ext/json/ext/generator/extconf.rb
73
+ - ext/json/ext/generator/generator.c
74
+ - ext/json/ext/generator/unicode.c
75
+ - ext/json/ext/parser
76
+ - ext/json/ext/parser/unicode.h
77
+ - ext/json/ext/parser/parser.rl
78
+ - ext/json/ext/parser/extconf.rb
79
+ - ext/json/ext/parser/parser.c
80
+ - ext/json/ext/parser/unicode.c
81
+ - VERSION
82
+ - README
83
+ - tools
84
+ - tools/server.rb
85
+ - tools/fuzz.rb
86
+ - lib
87
+ - lib/json.rb
88
+ - lib/json
89
+ - lib/json/add
90
+ - lib/json/add/core.rb
91
+ - lib/json/add/rails.rb
92
+ - lib/json/ext.rb
93
+ - lib/json/Key.xpm
94
+ - lib/json/Array.xpm
95
+ - lib/json/common.rb
96
+ - lib/json/ext
97
+ - lib/json/Hash.xpm
98
+ - lib/json/String.xpm
99
+ - lib/json/FalseClass.xpm
100
+ - lib/json/Numeric.xpm
101
+ - lib/json/version.rb
102
+ - lib/json/pure
103
+ - lib/json/pure/generator.rb
104
+ - lib/json/pure/parser.rb
105
+ - lib/json/pure.rb
106
+ - lib/json/NilClass.xpm
107
+ - lib/json/json.xpm
108
+ - lib/json/editor.rb
109
+ - lib/json/TrueClass.xpm
110
+ - TODO
111
+ - data
112
+ - data/prototype.js
113
+ - data/index.html
114
+ - data/example.json
115
+ - bin
116
+ - bin/prettify_json.rb
117
+ - bin/edit_json.rb
118
+ - diagrams
119
+ - doc-templates
120
+ - doc-templates/main.txt
121
+ - RUBY
122
+ - benchmarks
123
+ - benchmarks/data-p4-3GHz-ruby18
124
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat
125
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat
126
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat
127
+ - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat
128
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat
129
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat
130
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat
131
+ - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log
132
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat
133
+ - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat
134
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat
135
+ - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat
136
+ - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat
137
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat
138
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log
139
+ - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log
140
+ - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat
141
+ - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log
142
+ - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log
143
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log
144
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log
145
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat
146
+ - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log
147
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat
148
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat
149
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat
150
+ - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat
151
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log
152
+ - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat
153
+ - benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat
154
+ - benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat
155
+ - benchmarks/data
156
+ - benchmarks/parser_benchmark.rb
157
+ - benchmarks/generator_benchmark.rb
158
+ - Rakefile
159
+ - CHANGES
160
+ - lib/json/ext/parser.so
161
+ - lib/json/ext/generator.so
162
+ has_rdoc: true
163
+ homepage: http://json.rubyforge.org
164
+ post_install_message:
165
+ rdoc_options:
166
+ - --title
167
+ - JSON -- A JSON implemention
168
+ - --main
169
+ - JSON
170
+ - --line-numbers
171
+ require_paths:
172
+ - ext/json/ext
173
+ - ext
174
+ - lib
175
+ required_ruby_version: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ~>
178
+ - !ruby/object:Gem::Version
179
+ version: 1.8.6
180
+ version:
181
+ required_rubygems_version: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: "0"
186
+ version:
187
+ requirements: []
188
+
189
+ rubyforge_project: json
190
+ rubygems_version: 1.3.1
191
+ signing_key:
192
+ specification_version: 2
193
+ summary: A JSON implementation as a Ruby extension
194
+ test_files:
195
+ - tests/test_json_unicode.rb
196
+ - tests/test_json.rb
197
+ - tests/test_json_addition.rb
198
+ - tests/test_json_generate.rb
199
+ - tests/test_json_rails.rb
200
+ - tests/test_json_fixtures.rb