json 1.6.8-java → 1.7.0-java
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/lib/json/common.rb +8 -15
- data/lib/json/ext/generator.jar +0 -0
- data/lib/json/ext/parser.jar +0 -0
- data/lib/json/{light_object.rb → generic_object.rb} +4 -10
- data/lib/json/pure/parser.rb +4 -4
- data/lib/json/version.rb +1 -1
- data/tests/test_json.rb +6 -12
- data/tests/test_json_addition.rb +24 -32
- data/tests/test_json_generic_object.rb +35 -0
- data/tests/test_json_string_matching.rb +6 -5
- metadata +102 -94
data/lib/json/common.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'json/version'
|
2
|
-
require 'json/
|
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
|
297
|
-
:allow_nan
|
298
|
-
:quirks_mode
|
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.
|
306
|
-
#
|
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
|
317
|
-
opts = load_default_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
|
data/lib/json/ext/generator.jar
CHANGED
Binary file
|
data/lib/json/ext/parser.jar
CHANGED
Binary file
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'ostruct'
|
2
2
|
|
3
3
|
module JSON
|
4
|
-
class
|
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
|
-
|
20
|
+
table[name.to_sym]
|
21
21
|
end
|
22
22
|
|
23
23
|
def []=(name, value)
|
24
|
-
|
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
|
-
|
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
|
data/lib/json/pure/parser.rb
CHANGED
@@ -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
|
67
|
-
# additions
|
68
|
-
#
|
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 =
|
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
|
data/lib/json/version.rb
CHANGED
data/tests/test_json.rb
CHANGED
@@ -316,25 +316,25 @@ class TestJSON < Test::Unit::TestCase
|
|
316
316
|
assert res.item_set?
|
317
317
|
end
|
318
318
|
|
319
|
-
def
|
320
|
-
res = parse('{"foo":"bar", "baz":{}}', :object_class => JSON::
|
321
|
-
assert_equal(JSON::
|
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::
|
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
|
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"])
|
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))
|
data/tests/test_json_addition.rb
CHANGED
@@ -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
|
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
|
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
|
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)
|
133
|
+
assert_equal t, JSON(JSON(t))
|
142
134
|
d = Date.today
|
143
|
-
assert_equal d, JSON(JSON(d)
|
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)
|
146
|
-
assert_equal 1..10, JSON(JSON(1..10)
|
147
|
-
assert_equal 1...10, JSON(JSON(1...10)
|
148
|
-
assert_equal "a".."c", JSON(JSON("a".."c")
|
149
|
-
assert_equal "a"..."c", JSON(JSON("a"..."c")
|
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)
|
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
|
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/)
|
165
|
-
assert_equal(/foo/i, JSON(JSON(/foo/i)
|
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
|
171
|
-
assert_equal d, JSON.parse(d.to_json
|
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
|
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
|
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
|
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
|
182
|
-
assert_equal Complex(2, 9), JSON
|
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))
|
187
|
-
assert_equal BigDecimal('3.141', 666), JSON(JSON(BigDecimal('3.141', 666))
|
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
|
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,
|
31
|
-
:match_string => { /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\
|
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,
|
34
|
-
:match_string => { /\A\d{3}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\
|
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}\
|
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,114 +1,122 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: json
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
version: 1.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 1.7.0
|
6
6
|
platform: java
|
7
|
-
authors:
|
8
|
-
- Daniel Luz
|
9
|
-
autorequire:
|
7
|
+
authors:
|
8
|
+
- Daniel Luz
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
12
|
+
|
13
|
+
date: 2012-04-28 00:00:00 Z
|
13
14
|
dependencies: []
|
15
|
+
|
14
16
|
description: A JSON implementation as a JRuby extension.
|
15
17
|
email: dev+ruby@mernen.com
|
16
18
|
executables: []
|
19
|
+
|
17
20
|
extensions: []
|
21
|
+
|
18
22
|
extra_rdoc_files: []
|
19
|
-
|
20
|
-
|
21
|
-
- lib/json
|
22
|
-
- lib/json/
|
23
|
-
- lib/json/
|
24
|
-
- lib/json/
|
25
|
-
- lib/json/
|
26
|
-
- lib/json/
|
27
|
-
- lib/json/add/
|
28
|
-
- lib/json/add/
|
29
|
-
- lib/json/add/
|
30
|
-
- lib/json/add/
|
31
|
-
- lib/json/add/
|
32
|
-
- lib/json/add/
|
33
|
-
- lib/json/add/
|
34
|
-
- lib/json/add/
|
35
|
-
- lib/json/add/
|
36
|
-
- lib/json/add/
|
37
|
-
- lib/json/add/
|
38
|
-
- lib/json/add/
|
39
|
-
- lib/json/
|
40
|
-
- lib/json/pure/
|
41
|
-
- lib/json/
|
42
|
-
- lib/json/ext/
|
43
|
-
-
|
44
|
-
- tests/
|
45
|
-
- tests/
|
46
|
-
- tests/
|
47
|
-
- tests/
|
48
|
-
- tests/
|
49
|
-
- tests/
|
50
|
-
- tests/
|
51
|
-
- tests/
|
52
|
-
- tests/
|
53
|
-
- tests/fixtures/
|
54
|
-
- tests/fixtures/
|
55
|
-
- tests/fixtures/
|
56
|
-
- tests/fixtures/
|
57
|
-
- tests/fixtures/
|
58
|
-
- tests/fixtures/
|
59
|
-
- tests/fixtures/
|
60
|
-
- tests/fixtures/
|
61
|
-
- tests/fixtures/
|
62
|
-
- tests/fixtures/
|
63
|
-
- tests/fixtures/
|
64
|
-
- tests/fixtures/
|
65
|
-
- tests/fixtures/
|
66
|
-
- tests/fixtures/
|
67
|
-
- tests/fixtures/
|
68
|
-
- tests/fixtures/
|
69
|
-
- tests/fixtures/
|
70
|
-
- tests/fixtures/
|
71
|
-
- tests/fixtures/
|
72
|
-
- tests/fixtures/
|
73
|
-
- tests/fixtures/
|
74
|
-
- tests/fixtures/
|
75
|
-
- tests/fixtures/
|
76
|
-
- tests/fixtures/
|
77
|
-
- tests/fixtures/
|
78
|
-
- tests/fixtures/
|
79
|
-
- tests/fixtures/
|
80
|
-
- tests/fixtures/
|
81
|
-
- tests/fixtures/
|
23
|
+
|
24
|
+
files:
|
25
|
+
- lib/json.rb
|
26
|
+
- lib/json/version.rb
|
27
|
+
- lib/json/common.rb
|
28
|
+
- lib/json/ext.rb
|
29
|
+
- lib/json/pure.rb
|
30
|
+
- lib/json/generic_object.rb
|
31
|
+
- lib/json/add/symbol.rb
|
32
|
+
- lib/json/add/struct.rb
|
33
|
+
- lib/json/add/complex.rb
|
34
|
+
- lib/json/add/rational.rb
|
35
|
+
- lib/json/add/exception.rb
|
36
|
+
- lib/json/add/time.rb
|
37
|
+
- lib/json/add/bigdecimal.rb
|
38
|
+
- lib/json/add/date_time.rb
|
39
|
+
- lib/json/add/core.rb
|
40
|
+
- lib/json/add/range.rb
|
41
|
+
- lib/json/add/date.rb
|
42
|
+
- lib/json/add/regexp.rb
|
43
|
+
- lib/json/add/ostruct.rb
|
44
|
+
- lib/json/pure/generator.rb
|
45
|
+
- lib/json/pure/parser.rb
|
46
|
+
- lib/json/ext/generator.jar
|
47
|
+
- lib/json/ext/parser.jar
|
48
|
+
- tests/test_json_string_matching.rb
|
49
|
+
- tests/test_json_fixtures.rb
|
50
|
+
- tests/setup_variant.rb
|
51
|
+
- tests/test_json_unicode.rb
|
52
|
+
- tests/test_json_addition.rb
|
53
|
+
- tests/test_json_generate.rb
|
54
|
+
- tests/test_json_encoding.rb
|
55
|
+
- tests/test_json_generic_object.rb
|
56
|
+
- tests/test_json.rb
|
57
|
+
- tests/fixtures/fail6.json
|
58
|
+
- tests/fixtures/fail9.json
|
59
|
+
- tests/fixtures/fail10.json
|
60
|
+
- tests/fixtures/fail24.json
|
61
|
+
- tests/fixtures/fail28.json
|
62
|
+
- tests/fixtures/fail13.json
|
63
|
+
- tests/fixtures/fail4.json
|
64
|
+
- tests/fixtures/pass3.json
|
65
|
+
- tests/fixtures/fail11.json
|
66
|
+
- tests/fixtures/fail14.json
|
67
|
+
- tests/fixtures/fail3.json
|
68
|
+
- tests/fixtures/fail12.json
|
69
|
+
- tests/fixtures/pass16.json
|
70
|
+
- tests/fixtures/pass15.json
|
71
|
+
- tests/fixtures/fail20.json
|
72
|
+
- tests/fixtures/fail8.json
|
73
|
+
- tests/fixtures/pass2.json
|
74
|
+
- tests/fixtures/fail5.json
|
75
|
+
- tests/fixtures/fail1.json
|
76
|
+
- tests/fixtures/fail25.json
|
77
|
+
- tests/fixtures/pass17.json
|
78
|
+
- tests/fixtures/fail7.json
|
79
|
+
- tests/fixtures/pass26.json
|
80
|
+
- tests/fixtures/fail21.json
|
81
|
+
- tests/fixtures/pass1.json
|
82
|
+
- tests/fixtures/fail23.json
|
83
|
+
- tests/fixtures/fail18.json
|
84
|
+
- tests/fixtures/fail2.json
|
85
|
+
- tests/fixtures/fail22.json
|
86
|
+
- tests/fixtures/fail27.json
|
87
|
+
- tests/fixtures/fail19.json
|
82
88
|
homepage: http://json-jruby.rubyforge.org/
|
83
89
|
licenses: []
|
84
|
-
|
90
|
+
|
91
|
+
post_install_message:
|
85
92
|
rdoc_options: []
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
- - ">="
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
segments:
|
93
|
-
- 0
|
94
|
-
hash: 2
|
95
|
-
version: !binary |-
|
96
|
-
MA==
|
93
|
+
|
94
|
+
require_paths:
|
95
|
+
- lib
|
96
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
MA==
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
hash: 2
|
102
|
+
segments:
|
103
|
+
- 0
|
104
|
+
version: "0"
|
105
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
106
|
none: false
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
hash: 2
|
111
|
+
segments:
|
112
|
+
- 0
|
113
|
+
version: "0"
|
108
114
|
requirements: []
|
115
|
+
|
109
116
|
rubyforge_project: json-jruby
|
110
|
-
rubygems_version: 1.8.
|
111
|
-
signing_key:
|
117
|
+
rubygems_version: 1.8.22
|
118
|
+
signing_key:
|
112
119
|
specification_version: 3
|
113
120
|
summary: JSON implementation for JRuby
|
114
121
|
test_files: []
|
122
|
+
|