genki-json 1.1.4.1

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 (86) hide show
  1. data/CHANGES +97 -0
  2. data/GPL +340 -0
  3. data/README +78 -0
  4. data/RUBY +58 -0
  5. data/Rakefile +297 -0
  6. data/TODO +1 -0
  7. data/VERSION +1 -0
  8. data/benchmarks/generator_benchmark.rb +141 -0
  9. data/benchmarks/parser_benchmark.rb +129 -0
  10. data/bin/edit_json.rb +10 -0
  11. data/bin/prettify_json.rb +76 -0
  12. data/data/example.json +1 -0
  13. data/data/index.html +38 -0
  14. data/data/prototype.js +4184 -0
  15. data/doc-templates/main.txt +219 -0
  16. data/ext/json/ext/generator/extconf.rb +9 -0
  17. data/ext/json/ext/generator/generator.c +875 -0
  18. data/ext/json/ext/generator/unicode.c +182 -0
  19. data/ext/json/ext/generator/unicode.h +53 -0
  20. data/ext/json/ext/parser/extconf.rb +9 -0
  21. data/ext/json/ext/parser/parser.c +1758 -0
  22. data/ext/json/ext/parser/parser.rl +638 -0
  23. data/ext/json/ext/parser/unicode.c +154 -0
  24. data/ext/json/ext/parser/unicode.h +58 -0
  25. data/install.rb +26 -0
  26. data/json.gemspec +34 -0
  27. data/lib/json.rb +14 -0
  28. data/lib/json/Array.xpm +21 -0
  29. data/lib/json/FalseClass.xpm +21 -0
  30. data/lib/json/Hash.xpm +21 -0
  31. data/lib/json/Key.xpm +73 -0
  32. data/lib/json/NilClass.xpm +21 -0
  33. data/lib/json/Numeric.xpm +28 -0
  34. data/lib/json/String.xpm +96 -0
  35. data/lib/json/TrueClass.xpm +21 -0
  36. data/lib/json/add/core.rb +135 -0
  37. data/lib/json/add/rails.rb +58 -0
  38. data/lib/json/common.rb +354 -0
  39. data/lib/json/editor.rb +1362 -0
  40. data/lib/json/ext.rb +15 -0
  41. data/lib/json/json.xpm +1499 -0
  42. data/lib/json/pure.rb +77 -0
  43. data/lib/json/pure/generator.rb +404 -0
  44. data/lib/json/pure/parser.rb +259 -0
  45. data/lib/json/version.rb +9 -0
  46. data/tests/fixtures/fail1.json +1 -0
  47. data/tests/fixtures/fail10.json +1 -0
  48. data/tests/fixtures/fail11.json +1 -0
  49. data/tests/fixtures/fail12.json +1 -0
  50. data/tests/fixtures/fail13.json +1 -0
  51. data/tests/fixtures/fail14.json +1 -0
  52. data/tests/fixtures/fail18.json +1 -0
  53. data/tests/fixtures/fail19.json +1 -0
  54. data/tests/fixtures/fail2.json +1 -0
  55. data/tests/fixtures/fail20.json +1 -0
  56. data/tests/fixtures/fail21.json +1 -0
  57. data/tests/fixtures/fail22.json +1 -0
  58. data/tests/fixtures/fail23.json +1 -0
  59. data/tests/fixtures/fail24.json +1 -0
  60. data/tests/fixtures/fail25.json +1 -0
  61. data/tests/fixtures/fail27.json +2 -0
  62. data/tests/fixtures/fail28.json +2 -0
  63. data/tests/fixtures/fail3.json +1 -0
  64. data/tests/fixtures/fail4.json +1 -0
  65. data/tests/fixtures/fail5.json +1 -0
  66. data/tests/fixtures/fail6.json +1 -0
  67. data/tests/fixtures/fail7.json +1 -0
  68. data/tests/fixtures/fail8.json +1 -0
  69. data/tests/fixtures/fail9.json +1 -0
  70. data/tests/fixtures/pass1.json +56 -0
  71. data/tests/fixtures/pass15.json +1 -0
  72. data/tests/fixtures/pass16.json +1 -0
  73. data/tests/fixtures/pass17.json +1 -0
  74. data/tests/fixtures/pass2.json +1 -0
  75. data/tests/fixtures/pass26.json +1 -0
  76. data/tests/fixtures/pass3.json +6 -0
  77. data/tests/runner.rb +25 -0
  78. data/tests/test_json.rb +293 -0
  79. data/tests/test_json_addition.rb +161 -0
  80. data/tests/test_json_fixtures.rb +30 -0
  81. data/tests/test_json_generate.rb +100 -0
  82. data/tests/test_json_rails.rb +143 -0
  83. data/tests/test_json_unicode.rb +61 -0
  84. data/tools/fuzz.rb +140 -0
  85. data/tools/server.rb +62 -0
  86. metadata +161 -0
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $KCODE='UTF8'
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
metadata ADDED
@@ -0,0 +1,161 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: genki-json
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.4.1
5
+ platform: ruby
6
+ authors:
7
+ - Florian Frank
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-01-31 00:00:00 -08:00
13
+ default_executable: edit_json.rb
14
+ dependencies: []
15
+
16
+ description: ""
17
+ email: flori@ping.de
18
+ executables:
19
+ - edit_json.rb
20
+ extensions:
21
+ - ext/json/ext/parser/extconf.rb
22
+ - ext/json/ext/generator/extconf.rb
23
+ extra_rdoc_files: []
24
+
25
+ files:
26
+ - benchmarks
27
+ - benchmarks/data
28
+ - benchmarks/generator_benchmark.rb
29
+ - benchmarks/parser_benchmark.rb
30
+ - bin
31
+ - bin/edit_json.rb
32
+ - bin/prettify_json.rb
33
+ - CHANGES
34
+ - data
35
+ - data/example.json
36
+ - data/index.html
37
+ - data/prototype.js
38
+ - doc-templates
39
+ - doc-templates/main.txt
40
+ - ext
41
+ - ext/json
42
+ - ext/json/ext
43
+ - ext/json/ext/generator
44
+ - ext/json/ext/generator/extconf.rb
45
+ - ext/json/ext/generator/generator.c
46
+ - ext/json/ext/generator/unicode.c
47
+ - ext/json/ext/generator/unicode.h
48
+ - ext/json/ext/parser
49
+ - ext/json/ext/parser/extconf.rb
50
+ - ext/json/ext/parser/parser.c
51
+ - ext/json/ext/parser/parser.rl
52
+ - ext/json/ext/parser/unicode.c
53
+ - ext/json/ext/parser/unicode.h
54
+ - GPL
55
+ - install.rb
56
+ - json.gemspec
57
+ - lib
58
+ - lib/json
59
+ - lib/json/add
60
+ - lib/json/add/core.rb
61
+ - lib/json/add/rails.rb
62
+ - lib/json/Array.xpm
63
+ - lib/json/common.rb
64
+ - lib/json/editor.rb
65
+ - lib/json/ext.rb
66
+ - lib/json/FalseClass.xpm
67
+ - lib/json/Hash.xpm
68
+ - lib/json/json.xpm
69
+ - lib/json/Key.xpm
70
+ - lib/json/NilClass.xpm
71
+ - lib/json/Numeric.xpm
72
+ - lib/json/pure
73
+ - lib/json/pure/generator.rb
74
+ - lib/json/pure/parser.rb
75
+ - lib/json/pure.rb
76
+ - lib/json/String.xpm
77
+ - lib/json/TrueClass.xpm
78
+ - lib/json/version.rb
79
+ - lib/json.rb
80
+ - Rakefile
81
+ - README
82
+ - RUBY
83
+ - tests
84
+ - tests/fixtures
85
+ - tests/fixtures/fail1.json
86
+ - tests/fixtures/fail10.json
87
+ - tests/fixtures/fail11.json
88
+ - tests/fixtures/fail12.json
89
+ - tests/fixtures/fail13.json
90
+ - tests/fixtures/fail14.json
91
+ - tests/fixtures/fail18.json
92
+ - tests/fixtures/fail19.json
93
+ - tests/fixtures/fail2.json
94
+ - tests/fixtures/fail20.json
95
+ - tests/fixtures/fail21.json
96
+ - tests/fixtures/fail22.json
97
+ - tests/fixtures/fail23.json
98
+ - tests/fixtures/fail24.json
99
+ - tests/fixtures/fail25.json
100
+ - tests/fixtures/fail27.json
101
+ - tests/fixtures/fail28.json
102
+ - tests/fixtures/fail3.json
103
+ - tests/fixtures/fail4.json
104
+ - tests/fixtures/fail5.json
105
+ - tests/fixtures/fail6.json
106
+ - tests/fixtures/fail7.json
107
+ - tests/fixtures/fail8.json
108
+ - tests/fixtures/fail9.json
109
+ - tests/fixtures/pass1.json
110
+ - tests/fixtures/pass15.json
111
+ - tests/fixtures/pass16.json
112
+ - tests/fixtures/pass17.json
113
+ - tests/fixtures/pass2.json
114
+ - tests/fixtures/pass26.json
115
+ - tests/fixtures/pass3.json
116
+ - tests/runner.rb
117
+ - tests/test_json.rb
118
+ - tests/test_json_addition.rb
119
+ - tests/test_json_fixtures.rb
120
+ - tests/test_json_generate.rb
121
+ - tests/test_json_rails.rb
122
+ - tests/test_json_unicode.rb
123
+ - TODO
124
+ - tools
125
+ - tools/fuzz.rb
126
+ - tools/server.rb
127
+ - VERSION
128
+ has_rdoc: true
129
+ homepage: http://json.rubyforge.org
130
+ post_install_message:
131
+ rdoc_options:
132
+ - --title
133
+ - JSON -- A JSON implemention
134
+ - --main
135
+ - JSON
136
+ - --line-numbers
137
+ require_paths:
138
+ - ext/json/ext
139
+ - ext
140
+ - lib
141
+ required_ruby_version: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: "0"
146
+ version:
147
+ required_rubygems_version: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: "0"
152
+ version:
153
+ requirements: []
154
+
155
+ rubyforge_project: json
156
+ rubygems_version: 1.2.0
157
+ signing_key:
158
+ specification_version: 2
159
+ summary: A JSON implementation as a Ruby extension
160
+ test_files:
161
+ - tests/runner.rb