json_pure 2.4.0 → 2.6.0

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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +27 -5
  3. data/README.md +3 -3
  4. data/VERSION +1 -1
  5. data/json_pure.gemspec +43 -21
  6. data/lib/json/common.rb +34 -13
  7. data/lib/json/pure/parser.rb +1 -1
  8. data/lib/json/version.rb +1 -1
  9. data/lib/json.rb +1 -1
  10. metadata +14 -123
  11. data/.gitignore +0 -18
  12. data/.travis.yml +0 -23
  13. data/Gemfile +0 -14
  14. data/README-json-jruby.md +0 -33
  15. data/Rakefile +0 -334
  16. data/diagrams/.keep +0 -0
  17. data/ext/json/ext/fbuffer/fbuffer.h +0 -187
  18. data/ext/json/ext/generator/depend +0 -1
  19. data/ext/json/ext/generator/extconf.rb +0 -4
  20. data/ext/json/ext/generator/generator.c +0 -1612
  21. data/ext/json/ext/generator/generator.h +0 -174
  22. data/ext/json/ext/parser/depend +0 -1
  23. data/ext/json/ext/parser/extconf.rb +0 -31
  24. data/ext/json/ext/parser/parser.c +0 -2164
  25. data/ext/json/ext/parser/parser.h +0 -92
  26. data/ext/json/ext/parser/parser.rl +0 -924
  27. data/ext/json/extconf.rb +0 -3
  28. data/install.rb +0 -23
  29. data/java/src/json/ext/ByteListTranscoder.java +0 -166
  30. data/java/src/json/ext/Generator.java +0 -447
  31. data/java/src/json/ext/GeneratorMethods.java +0 -231
  32. data/java/src/json/ext/GeneratorService.java +0 -42
  33. data/java/src/json/ext/GeneratorState.java +0 -520
  34. data/java/src/json/ext/OptionsReader.java +0 -113
  35. data/java/src/json/ext/Parser.java +0 -2374
  36. data/java/src/json/ext/Parser.rl +0 -905
  37. data/java/src/json/ext/ParserService.java +0 -34
  38. data/java/src/json/ext/RuntimeInfo.java +0 -116
  39. data/java/src/json/ext/StringDecoder.java +0 -166
  40. data/java/src/json/ext/StringEncoder.java +0 -117
  41. data/java/src/json/ext/Utils.java +0 -88
  42. data/json-java.gemspec +0 -38
  43. data/json.gemspec +0 -140
  44. data/lib/json/ext/.keep +0 -0
  45. data/references/rfc7159.txt +0 -899
  46. data/tests/fixtures/fail10.json +0 -1
  47. data/tests/fixtures/fail11.json +0 -1
  48. data/tests/fixtures/fail12.json +0 -1
  49. data/tests/fixtures/fail13.json +0 -1
  50. data/tests/fixtures/fail14.json +0 -1
  51. data/tests/fixtures/fail18.json +0 -1
  52. data/tests/fixtures/fail19.json +0 -1
  53. data/tests/fixtures/fail2.json +0 -1
  54. data/tests/fixtures/fail20.json +0 -1
  55. data/tests/fixtures/fail21.json +0 -1
  56. data/tests/fixtures/fail22.json +0 -1
  57. data/tests/fixtures/fail23.json +0 -1
  58. data/tests/fixtures/fail24.json +0 -1
  59. data/tests/fixtures/fail25.json +0 -1
  60. data/tests/fixtures/fail27.json +0 -2
  61. data/tests/fixtures/fail28.json +0 -2
  62. data/tests/fixtures/fail3.json +0 -1
  63. data/tests/fixtures/fail4.json +0 -1
  64. data/tests/fixtures/fail5.json +0 -1
  65. data/tests/fixtures/fail6.json +0 -1
  66. data/tests/fixtures/fail7.json +0 -1
  67. data/tests/fixtures/fail8.json +0 -1
  68. data/tests/fixtures/fail9.json +0 -1
  69. data/tests/fixtures/obsolete_fail1.json +0 -1
  70. data/tests/fixtures/pass1.json +0 -56
  71. data/tests/fixtures/pass15.json +0 -1
  72. data/tests/fixtures/pass16.json +0 -1
  73. data/tests/fixtures/pass17.json +0 -1
  74. data/tests/fixtures/pass2.json +0 -1
  75. data/tests/fixtures/pass26.json +0 -1
  76. data/tests/fixtures/pass3.json +0 -6
  77. data/tests/json_addition_test.rb +0 -199
  78. data/tests/json_common_interface_test.rb +0 -169
  79. data/tests/json_encoding_test.rb +0 -107
  80. data/tests/json_ext_parser_test.rb +0 -15
  81. data/tests/json_fixtures_test.rb +0 -40
  82. data/tests/json_generator_test.rb +0 -432
  83. data/tests/json_generic_object_test.rb +0 -82
  84. data/tests/json_parser_test.rb +0 -497
  85. data/tests/json_string_matching_test.rb +0 -38
  86. data/tests/test_helper.rb +0 -17
  87. data/tools/diff.sh +0 -18
  88. data/tools/fuzz.rb +0 -131
  89. data/tools/server.rb +0 -62
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 19ad55284912f57f06f2aa2d0a6336486ee6d20112a3cec8e3f4e918a0fbd338
4
- data.tar.gz: 159c717b0b0cc8e4e6d8609b542b113fb8c483e1a306b6582f8a98ddadc20090
3
+ metadata.gz: 8f1ce1e33dc671d54c843629592229a16a0de61727602228a65b508581abb051
4
+ data.tar.gz: 21b166151dd27512e74c2f157f54dd310d488a80a96da564ccaed31772a61108
5
5
  SHA512:
6
- metadata.gz: fba550423cbfb98dfe9abc4fe534e7fbeff135cde38a0e17b98123dbf8a664b70e7d26e130b536292123268266917251c06800b1224eca3007e1f6f54a148b16
7
- data.tar.gz: fbe734f8b76e9f4c4c90304d11fa8026d349e2684f01358140cb36113720a57016fbbe8b12857f5e2c7b82baef2ac09a528b7839e17a22f87132940af98da2a0
6
+ metadata.gz: c49d14b3e02ce23c16bf1ee4fea517789a5191e4d994433c886aa48ddbfc4209bd7de24de928405e81419ab715d06ac6b558eb21054eaaa7af825e62cac8eb55
7
+ data.tar.gz: 39df566e12dede3bb3c27768ea1fdee5310aba19b879fe87509a4735a2e9177f927bd02b15978419992ff4b7b946755b416587db40282626a48bd574e4735cc0
data/CHANGES.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changes
2
2
 
3
+ ## 2020-12-22 (2.5.1)
4
+
5
+ * Restore the compatibility for constants of JSON class.
6
+
7
+ ## 2020-12-22 (2.5.0)
8
+
9
+ * Ready to Ractor-safe at Ruby 3.0.
10
+
11
+ ## 2020-12-17 (2.4.1)
12
+
13
+ * Restore version.rb with 2.4.1
14
+
15
+ ## 2020-12-15 (2.4.0)
16
+
17
+ * Implement a freeze: parser option #447
18
+ * Fix an issue with generate_pretty and empty objects in the Ruby and Java implementations #449
19
+ * Fix JSON.load_file doc #448
20
+ * Fix pure parser with unclosed arrays / objects #425
21
+ * bundle the LICENSE file in the gem #444
22
+ * Add an option to escape forward slash character #405
23
+ * RDoc for JSON #439 #446 #442 #434 #433 #430
24
+
3
25
  ## 2020-06-30 (2.3.1)
4
26
 
5
27
  * Spelling and grammar fixes for comments. Pull request #191 by Josh
@@ -61,7 +83,7 @@
61
83
 
62
84
  ## 2015-09-11 (2.0.0)
63
85
  * Now complies to newest JSON RFC 7159.
64
- * Implements compatibiliy to ruby 2.4 integer unification.
86
+ * Implements compatibility to ruby 2.4 integer unification.
65
87
  * Drops support for old rubies whose life has ended, that is rubies < 2.0.
66
88
  Also see https://www.ruby-lang.org/en/news/2014/07/01/eol-for-1-8-7-and-1-9-2/
67
89
  * There were still some mentions of dual GPL licensing in the source, but JSON
@@ -102,9 +124,9 @@
102
124
  ## 2013-02-04 (1.7.7)
103
125
  * Security fix for JSON create_additions default value and
104
126
  `JSON::GenericObject`. It should not be possible to create additions unless
105
- explicitely requested by setting the create_additions argument to true or
127
+ explicitly requested by setting the create_additions argument to true or
106
128
  using the JSON.load/dump interface. If `JSON::GenericObject` is supposed to
107
- be automatically deserialised, this has to be explicitely enabled by
129
+ be automatically deserialised, this has to be explicitly enabled by
108
130
  setting
109
131
  JSON::GenericObject.json_creatable = true
110
132
  as well.
@@ -250,7 +272,7 @@
250
272
  ## 2010-04-23 (1.4.0)
251
273
  * Major speed improvements and building with simplified
252
274
  directory/file-structure.
253
- * Extension should at least be comapatible with MRI, YARV and Rubinius.
275
+ * Extension should at least be compatible with MRI, YARV and Rubinius.
254
276
 
255
277
  ## 2010-04-07 (1.2.4)
256
278
  * Triger const_missing callback to make Rails' dynamic class loading work.
@@ -268,7 +290,7 @@
268
290
  strings in object names/keys.
269
291
 
270
292
  ## 2009-10-01 (1.2.0)
271
- * `fast_generate` now raises an exeception for nan and infinite floats.
293
+ * `fast_generate` now raises an exception for nan and infinite floats.
272
294
  * On Ruby 1.8 json supports parsing of UTF-8, UTF-16BE, UTF-16LE, UTF-32BE,
273
295
  and UTF-32LE JSON documents now. Under Ruby 1.9 the M17n conversion
274
296
  functions are used to convert from all supported encodings. ASCII-8BIT
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # JSON implementation for Ruby
2
2
 
3
- [![Travis Widget](http://travis-ci.org/flori/json.svg?branch=master)](https://travis-ci.org/flori/json)
3
+ [![CI](https://github.com/flori/json/actions/workflows/ci.yml/badge.svg)](https://github.com/flori/json/actions/workflows/ci.yml)
4
4
 
5
5
  ## Description
6
6
 
@@ -267,7 +267,7 @@ the `pp` library's `pp` methods.
267
267
 
268
268
  The script `tools/server.rb` contains a small example if you want to test, how
269
269
  receiving a JSON object from a webrick server in your browser with the
270
- javasript prototype library http://www.prototypejs.org works.
270
+ JavaScript prototype library http://www.prototypejs.org works.
271
271
 
272
272
  ## Speed Comparisons
273
273
 
@@ -294,7 +294,7 @@ extension:
294
294
  ```
295
295
 
296
296
  In the table above 1 is `JSON::Ext::Parser`, 2 is `YAML.load` with YAML
297
- compatbile JSON document, 3 is is `JSON::Pure::Parser`, and 4 is
297
+ compatible JSON document, 3 is is `JSON::Pure::Parser`, and 4 is
298
298
  `ActiveSupport::JSON.decode`. The ActiveSupport JSON-decoder converts the
299
299
  input first to YAML and then uses the YAML-parser, the conversion seems to
300
300
  slow it down so much that it is only as fast as the `JSON::Pure::Parser`!
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.4.0
1
+ 2.6.0
data/json_pure.gemspec CHANGED
@@ -4,30 +4,52 @@ Gem::Specification.new do |s|
4
4
  s.name = "json_pure".freeze
5
5
  s.version = File.read("VERSION").chomp
6
6
 
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
8
- s.require_paths = ["lib".freeze]
9
- s.authors = ["Florian Frank".freeze]
7
+ s.summary = "JSON Implementation for Ruby".freeze
10
8
  s.description = "This is a JSON implementation in pure Ruby.".freeze
9
+ s.licenses = ["Ruby".freeze]
10
+ s.authors = ["Florian Frank".freeze]
11
11
  s.email = "flori@ping.de".freeze
12
+
12
13
  s.extra_rdoc_files = ["README.md".freeze]
13
- s.files = ["./tests/test_helper.rb".freeze, ".gitignore".freeze, ".travis.yml".freeze, "CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README-json-jruby.md".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "diagrams/.keep".freeze, "ext/json/ext/fbuffer/fbuffer.h".freeze, "ext/json/ext/generator/depend".freeze, "ext/json/ext/generator/extconf.rb".freeze, "ext/json/ext/generator/generator.c".freeze, "ext/json/ext/generator/generator.h".freeze, "ext/json/ext/parser/depend".freeze, "ext/json/ext/parser/extconf.rb".freeze, "ext/json/ext/parser/parser.c".freeze, "ext/json/ext/parser/parser.h".freeze, "ext/json/ext/parser/parser.rl".freeze, "ext/json/extconf.rb".freeze, "install.rb".freeze, "java/src/json/ext/ByteListTranscoder.java".freeze, "java/src/json/ext/Generator.java".freeze, "java/src/json/ext/GeneratorMethods.java".freeze, "java/src/json/ext/GeneratorService.java".freeze, "java/src/json/ext/GeneratorState.java".freeze, "java/src/json/ext/OptionsReader.java".freeze, "java/src/json/ext/Parser.java".freeze, "java/src/json/ext/Parser.rl".freeze, "java/src/json/ext/ParserService.java".freeze, "java/src/json/ext/RuntimeInfo.java".freeze, "java/src/json/ext/StringDecoder.java".freeze, "java/src/json/ext/StringEncoder.java".freeze, "java/src/json/ext/Utils.java".freeze, "json-java.gemspec".freeze, "json.gemspec".freeze, "json_pure.gemspec".freeze, "lib/json.rb".freeze, "lib/json/add/bigdecimal.rb".freeze, "lib/json/add/complex.rb".freeze, "lib/json/add/core.rb".freeze, "lib/json/add/date.rb".freeze, "lib/json/add/date_time.rb".freeze, "lib/json/add/exception.rb".freeze, "lib/json/add/ostruct.rb".freeze, "lib/json/add/range.rb".freeze, "lib/json/add/rational.rb".freeze, "lib/json/add/regexp.rb".freeze, "lib/json/add/set.rb".freeze, "lib/json/add/struct.rb".freeze, "lib/json/add/symbol.rb".freeze, "lib/json/add/time.rb".freeze, "lib/json/common.rb".freeze, "lib/json/ext.rb".freeze, "lib/json/ext/.keep".freeze, "lib/json/generic_object.rb".freeze, "lib/json/pure.rb".freeze, "lib/json/pure/generator.rb".freeze, "lib/json/pure/parser.rb".freeze, "lib/json/version.rb".freeze, "references/rfc7159.txt".freeze, "tests/fixtures/fail10.json".freeze, "tests/fixtures/fail11.json".freeze, "tests/fixtures/fail12.json".freeze, "tests/fixtures/fail13.json".freeze, "tests/fixtures/fail14.json".freeze, "tests/fixtures/fail18.json".freeze, "tests/fixtures/fail19.json".freeze, "tests/fixtures/fail2.json".freeze, "tests/fixtures/fail20.json".freeze, "tests/fixtures/fail21.json".freeze, "tests/fixtures/fail22.json".freeze, "tests/fixtures/fail23.json".freeze, "tests/fixtures/fail24.json".freeze, "tests/fixtures/fail25.json".freeze, "tests/fixtures/fail27.json".freeze, "tests/fixtures/fail28.json".freeze, "tests/fixtures/fail3.json".freeze, "tests/fixtures/fail4.json".freeze, "tests/fixtures/fail5.json".freeze, "tests/fixtures/fail6.json".freeze, "tests/fixtures/fail7.json".freeze, "tests/fixtures/fail8.json".freeze, "tests/fixtures/fail9.json".freeze, "tests/fixtures/obsolete_fail1.json".freeze, "tests/fixtures/pass1.json".freeze, "tests/fixtures/pass15.json".freeze, "tests/fixtures/pass16.json".freeze, "tests/fixtures/pass17.json".freeze, "tests/fixtures/pass2.json".freeze, "tests/fixtures/pass26.json".freeze, "tests/fixtures/pass3.json".freeze, "tests/json_addition_test.rb".freeze, "tests/json_common_interface_test.rb".freeze, "tests/json_encoding_test.rb".freeze, "tests/json_ext_parser_test.rb".freeze, "tests/json_fixtures_test.rb".freeze, "tests/json_generator_test.rb".freeze, "tests/json_generic_object_test.rb".freeze, "tests/json_parser_test.rb".freeze, "tests/json_string_matching_test.rb".freeze, "tests/test_helper.rb".freeze, "tools/diff.sh".freeze, "tools/fuzz.rb".freeze, "tools/server.rb".freeze]
14
+ s.rdoc_options = ["--title".freeze, "JSON implementation for ruby".freeze, "--main".freeze, "README.md".freeze]
15
+ s.files = [
16
+ "CHANGES.md".freeze,
17
+ "LICENSE".freeze,
18
+ "README.md".freeze,
19
+ "VERSION".freeze,
20
+ "json_pure.gemspec".freeze,
21
+ "lib/json.rb".freeze,
22
+ "lib/json/add/bigdecimal.rb".freeze,
23
+ "lib/json/add/complex.rb".freeze,
24
+ "lib/json/add/core.rb".freeze,
25
+ "lib/json/add/date.rb".freeze,
26
+ "lib/json/add/date_time.rb".freeze,
27
+ "lib/json/add/exception.rb".freeze,
28
+ "lib/json/add/ostruct.rb".freeze,
29
+ "lib/json/add/range.rb".freeze,
30
+ "lib/json/add/rational.rb".freeze,
31
+ "lib/json/add/regexp.rb".freeze,
32
+ "lib/json/add/set.rb".freeze,
33
+ "lib/json/add/struct.rb".freeze,
34
+ "lib/json/add/symbol.rb".freeze,
35
+ "lib/json/add/time.rb".freeze,
36
+ "lib/json/common.rb".freeze,
37
+ "lib/json/ext.rb".freeze,
38
+ "lib/json/generic_object.rb".freeze,
39
+ "lib/json/pure.rb".freeze,
40
+ "lib/json/pure/generator.rb".freeze,
41
+ "lib/json/pure/parser.rb".freeze,
42
+ "lib/json/version.rb".freeze,
43
+ ]
14
44
  s.homepage = "http://flori.github.com/json".freeze
15
- s.licenses = ["Ruby".freeze]
16
- s.rdoc_options = ["--title".freeze, "JSON implemention for ruby".freeze, "--main".freeze, "README.md".freeze]
17
- s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze)
18
- s.rubygems_version = "3.1.2".freeze
19
- s.summary = "JSON Implementation for Ruby".freeze
20
- s.test_files = ["./tests/test_helper.rb".freeze]
21
-
22
- if s.respond_to? :specification_version then
23
- s.specification_version = 4
24
- end
45
+ s.metadata = {
46
+ 'bug_tracker_uri' => 'https://github.com/flori/json/issues',
47
+ 'changelog_uri' => 'https://github.com/flori/json/blob/master/CHANGES.md',
48
+ 'documentation_uri' => 'http://flori.github.io/json/doc/index.html',
49
+ 'homepage_uri' => 'http://flori.github.io/json/',
50
+ 'source_code_uri' => 'https://github.com/flori/json',
51
+ 'wiki_uri' => 'https://github.com/flori/json/wiki'
52
+ }
25
53
 
26
- if s.respond_to? :add_runtime_dependency then
27
- s.add_development_dependency(%q<rake>.freeze, [">= 0"])
28
- s.add_development_dependency(%q<test-unit>.freeze, [">= 2.0", "< 4.0"])
29
- else
30
- s.add_dependency(%q<rake>.freeze, [">= 0"])
31
- s.add_dependency(%q<test-unit>.freeze, [">= 2.0", "< 4.0"])
32
- end
54
+ s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze)
33
55
  end
data/lib/json/common.rb CHANGED
@@ -71,22 +71,30 @@ module JSON
71
71
  end
72
72
  self.state = generator::State
73
73
  const_set :State, self.state
74
- const_set :SAFE_STATE_PROTOTYPE, State.new
75
- const_set :FAST_STATE_PROTOTYPE, State.new(
74
+ const_set :SAFE_STATE_PROTOTYPE, State.new # for JRuby
75
+ const_set :FAST_STATE_PROTOTYPE, create_fast_state
76
+ const_set :PRETTY_STATE_PROTOTYPE, create_pretty_state
77
+ ensure
78
+ $VERBOSE = old
79
+ end
80
+
81
+ def create_fast_state
82
+ State.new(
76
83
  :indent => '',
77
84
  :space => '',
78
85
  :object_nl => "",
79
86
  :array_nl => "",
80
87
  :max_nesting => false
81
88
  )
82
- const_set :PRETTY_STATE_PROTOTYPE, State.new(
89
+ end
90
+
91
+ def create_pretty_state
92
+ State.new(
83
93
  :indent => ' ',
84
94
  :space => ' ',
85
95
  :object_nl => "\n",
86
96
  :array_nl => "\n"
87
97
  )
88
- ensure
89
- $VERBOSE = old
90
98
  end
91
99
 
92
100
  # Returns the JSON generator module that is used by JSON. This is
@@ -98,13 +106,26 @@ module JSON
98
106
  # either JSON::Ext::Generator::State or JSON::Pure::Generator::State:
99
107
  # JSON.state # => JSON::Ext::Generator::State
100
108
  attr_accessor :state
109
+ end
110
+
111
+ DEFAULT_CREATE_ID = 'json_class'.freeze
112
+ private_constant :DEFAULT_CREATE_ID
113
+
114
+ CREATE_ID_TLS_KEY = "JSON.create_id".freeze
115
+ private_constant :CREATE_ID_TLS_KEY
116
+
117
+ # Sets create identifier, which is used to decide if the _json_create_
118
+ # hook of a class should be called; initial value is +json_class+:
119
+ # JSON.create_id # => 'json_class'
120
+ def self.create_id=(new_value)
121
+ Thread.current[CREATE_ID_TLS_KEY] = new_value.dup.freeze
122
+ end
101
123
 
102
- # Sets or returns create identifier, which is used to decide if the _json_create_
103
- # hook of a class should be called; initial value is +json_class+:
104
- # JSON.create_id # => 'json_class'
105
- attr_accessor :create_id
124
+ # Returns the current create identifier.
125
+ # See also JSON.create_id=.
126
+ def self.create_id
127
+ Thread.current[CREATE_ID_TLS_KEY] || DEFAULT_CREATE_ID
106
128
  end
107
- self.create_id = 'json_class'
108
129
 
109
130
  NaN = 0.0/0
110
131
 
@@ -276,7 +297,7 @@ module JSON
276
297
  if State === opts
277
298
  state, opts = opts, nil
278
299
  else
279
- state = SAFE_STATE_PROTOTYPE.dup
300
+ state = State.new
280
301
  end
281
302
  if opts
282
303
  if opts.respond_to? :to_hash
@@ -315,7 +336,7 @@ module JSON
315
336
  if State === opts
316
337
  state, opts = opts, nil
317
338
  else
318
- state = FAST_STATE_PROTOTYPE.dup
339
+ state = JSON.create_fast_state
319
340
  end
320
341
  if opts
321
342
  if opts.respond_to? :to_hash
@@ -370,7 +391,7 @@ module JSON
370
391
  if State === opts
371
392
  state, opts = opts, nil
372
393
  else
373
- state = PRETTY_STATE_PROTOTYPE.dup
394
+ state = JSON.create_pretty_state
374
395
  end
375
396
  if opts
376
397
  if opts.respond_to? :to_hash
@@ -45,7 +45,7 @@ module JSON
45
45
  /(?=\*/) # single slash before this comment's end
46
46
  )*
47
47
  \*/ # the End of this comment
48
- |[ \t\r\n]+ # whitespaces: space, horicontal tab, lf, cr
48
+ |[ \t\r\n]+ # whitespaces: space, horizontal tab, lf, cr
49
49
  )+
50
50
  )mx
51
51
 
data/lib/json/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
  module JSON
3
3
  # JSON version
4
- VERSION = '2.3.1'
4
+ VERSION = '2.6.0'
5
5
  VERSION_ARRAY = VERSION.split(/\./).map { |x| x.to_i } # :nodoc:
6
6
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
7
7
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
data/lib/json.rb CHANGED
@@ -493,7 +493,7 @@ require 'json/common'
493
493
  # json = JSON.generate(ruby0) # {"json_class":"Customer","v":["Dave","123 Main"]}
494
494
  # ruby1 = JSON.parse(json, create_additions: true) # #<struct Customer name="Dave", address="123 Main">
495
495
  # ruby1.class # Customer
496
- #
496
+ #
497
497
  # \Symbol:
498
498
  # require 'json/add/symbol'
499
499
  # ruby0 = :foo # foo
metadata CHANGED
@@ -1,49 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_pure
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-15 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rake
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: test-unit
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '2.0'
34
- - - "<"
35
- - !ruby/object:Gem::Version
36
- version: '4.0'
37
- type: :development
38
- prerelease: false
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: '2.0'
44
- - - "<"
45
- - !ruby/object:Gem::Version
46
- version: '4.0'
11
+ date: 2021-10-14 00:00:00.000000000 Z
12
+ dependencies: []
47
13
  description: This is a JSON implementation in pure Ruby.
48
14
  email: flori@ping.de
49
15
  executables: []
@@ -51,44 +17,10 @@ extensions: []
51
17
  extra_rdoc_files:
52
18
  - README.md
53
19
  files:
54
- - "./tests/test_helper.rb"
55
- - ".gitignore"
56
- - ".travis.yml"
57
20
  - CHANGES.md
58
- - Gemfile
59
21
  - LICENSE
60
- - README-json-jruby.md
61
22
  - README.md
62
- - Rakefile
63
23
  - VERSION
64
- - diagrams/.keep
65
- - ext/json/ext/fbuffer/fbuffer.h
66
- - ext/json/ext/generator/depend
67
- - ext/json/ext/generator/extconf.rb
68
- - ext/json/ext/generator/generator.c
69
- - ext/json/ext/generator/generator.h
70
- - ext/json/ext/parser/depend
71
- - ext/json/ext/parser/extconf.rb
72
- - ext/json/ext/parser/parser.c
73
- - ext/json/ext/parser/parser.h
74
- - ext/json/ext/parser/parser.rl
75
- - ext/json/extconf.rb
76
- - install.rb
77
- - java/src/json/ext/ByteListTranscoder.java
78
- - java/src/json/ext/Generator.java
79
- - java/src/json/ext/GeneratorMethods.java
80
- - java/src/json/ext/GeneratorService.java
81
- - java/src/json/ext/GeneratorState.java
82
- - java/src/json/ext/OptionsReader.java
83
- - java/src/json/ext/Parser.java
84
- - java/src/json/ext/Parser.rl
85
- - java/src/json/ext/ParserService.java
86
- - java/src/json/ext/RuntimeInfo.java
87
- - java/src/json/ext/StringDecoder.java
88
- - java/src/json/ext/StringEncoder.java
89
- - java/src/json/ext/Utils.java
90
- - json-java.gemspec
91
- - json.gemspec
92
24
  - json_pure.gemspec
93
25
  - lib/json.rb
94
26
  - lib/json/add/bigdecimal.rb
@@ -107,65 +39,25 @@ files:
107
39
  - lib/json/add/time.rb
108
40
  - lib/json/common.rb
109
41
  - lib/json/ext.rb
110
- - lib/json/ext/.keep
111
42
  - lib/json/generic_object.rb
112
43
  - lib/json/pure.rb
113
44
  - lib/json/pure/generator.rb
114
45
  - lib/json/pure/parser.rb
115
46
  - lib/json/version.rb
116
- - references/rfc7159.txt
117
- - tests/fixtures/fail10.json
118
- - tests/fixtures/fail11.json
119
- - tests/fixtures/fail12.json
120
- - tests/fixtures/fail13.json
121
- - tests/fixtures/fail14.json
122
- - tests/fixtures/fail18.json
123
- - tests/fixtures/fail19.json
124
- - tests/fixtures/fail2.json
125
- - tests/fixtures/fail20.json
126
- - tests/fixtures/fail21.json
127
- - tests/fixtures/fail22.json
128
- - tests/fixtures/fail23.json
129
- - tests/fixtures/fail24.json
130
- - tests/fixtures/fail25.json
131
- - tests/fixtures/fail27.json
132
- - tests/fixtures/fail28.json
133
- - tests/fixtures/fail3.json
134
- - tests/fixtures/fail4.json
135
- - tests/fixtures/fail5.json
136
- - tests/fixtures/fail6.json
137
- - tests/fixtures/fail7.json
138
- - tests/fixtures/fail8.json
139
- - tests/fixtures/fail9.json
140
- - tests/fixtures/obsolete_fail1.json
141
- - tests/fixtures/pass1.json
142
- - tests/fixtures/pass15.json
143
- - tests/fixtures/pass16.json
144
- - tests/fixtures/pass17.json
145
- - tests/fixtures/pass2.json
146
- - tests/fixtures/pass26.json
147
- - tests/fixtures/pass3.json
148
- - tests/json_addition_test.rb
149
- - tests/json_common_interface_test.rb
150
- - tests/json_encoding_test.rb
151
- - tests/json_ext_parser_test.rb
152
- - tests/json_fixtures_test.rb
153
- - tests/json_generator_test.rb
154
- - tests/json_generic_object_test.rb
155
- - tests/json_parser_test.rb
156
- - tests/json_string_matching_test.rb
157
- - tests/test_helper.rb
158
- - tools/diff.sh
159
- - tools/fuzz.rb
160
- - tools/server.rb
161
47
  homepage: http://flori.github.com/json
162
48
  licenses:
163
49
  - Ruby
164
- metadata: {}
50
+ metadata:
51
+ bug_tracker_uri: https://github.com/flori/json/issues
52
+ changelog_uri: https://github.com/flori/json/blob/master/CHANGES.md
53
+ documentation_uri: http://flori.github.io/json/doc/index.html
54
+ homepage_uri: http://flori.github.io/json/
55
+ source_code_uri: https://github.com/flori/json
56
+ wiki_uri: https://github.com/flori/json/wiki
165
57
  post_install_message:
166
58
  rdoc_options:
167
59
  - "--title"
168
- - JSON implemention for ruby
60
+ - JSON implementation for ruby
169
61
  - "--main"
170
62
  - README.md
171
63
  require_paths:
@@ -174,16 +66,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
174
66
  requirements:
175
67
  - - ">="
176
68
  - !ruby/object:Gem::Version
177
- version: '2.0'
69
+ version: '2.3'
178
70
  required_rubygems_version: !ruby/object:Gem::Requirement
179
71
  requirements:
180
72
  - - ">="
181
73
  - !ruby/object:Gem::Version
182
74
  version: '0'
183
75
  requirements: []
184
- rubygems_version: 3.1.4
76
+ rubygems_version: 3.3.0.dev
185
77
  signing_key:
186
78
  specification_version: 4
187
79
  summary: JSON Implementation for Ruby
188
- test_files:
189
- - "./tests/test_helper.rb"
80
+ test_files: []
data/.gitignore DELETED
@@ -1,18 +0,0 @@
1
- .*.sw[pon]
2
- *.bundle
3
- coverage
4
- tags
5
- pkg
6
- .nfs.*
7
- .idea
8
- java/Json.iml
9
- Gemfile.lock
10
- .rvmrc
11
- *.rbc
12
- .rbx
13
- .AppleDouble
14
- .DS_Store
15
- */**/Makefile
16
- */**/*.o
17
- .byebug_history
18
- *.log
data/.travis.yml DELETED
@@ -1,23 +0,0 @@
1
- # Passes arguments to bundle install (http://gembundler.com/man/bundle-install.1.html)
2
- #bundler_args: --binstubs
3
- language: ruby
4
-
5
- # Specify which ruby versions you wish to run your tests on, each version will be used
6
- rvm:
7
- - 2.1
8
- - 2.2
9
- - 2.3
10
- - 2.4
11
- - 2.5
12
- - 2.6
13
- - 2.7.0-preview3
14
- - ruby-head
15
- - jruby-9.1 # Ruby 2.3
16
- - jruby-9.2 # Ruby 2.5
17
- - truffleruby
18
- matrix:
19
- allow_failures:
20
- - rvm: ruby-head
21
- - rvm: truffleruby
22
- script: "bundle exec rake"
23
- sudo: false
data/Gemfile DELETED
@@ -1,14 +0,0 @@
1
- # vim: set ft=ruby:
2
-
3
- source 'https://rubygems.org'
4
-
5
- case ENV['JSON']
6
- when 'ext', nil
7
- if ENV['RUBY_ENGINE'] == 'jruby'
8
- gemspec :name => 'json-java'
9
- else
10
- gemspec :name => 'json'
11
- end
12
- when 'pure'
13
- gemspec :name => 'json_pure'
14
- end
data/README-json-jruby.md DELETED
@@ -1,33 +0,0 @@
1
- JSON-JRuby
2
- ==========
3
-
4
- JSON-JRuby is a port of Florian Frank's native
5
- [`json` library](http://json.rubyforge.org/) to JRuby.
6
- It aims to be a perfect drop-in replacement for `json_pure`.
7
-
8
-
9
- Development version
10
- ===================
11
-
12
- The latest version is available from the
13
- [Git repository](http://github.com/mernen/json-jruby/tree):
14
-
15
- git clone git://github.com/mernen/json-jruby.git
16
-
17
-
18
- Compiling
19
- =========
20
-
21
- You'll need JRuby version 1.2 or greater to build JSON-JRuby.
22
- Its path must be set on the `jruby.dir` property of
23
- `nbproject/project.properties` (defaults to `../jruby`).
24
-
25
- Additionally, you'll need [Ant](http://ant.apache.org/), and
26
- [Ragel](http://www.cs.queensu.ca/~thurston/ragel/) 6.4 or greater.
27
-
28
- Then, from the folder where the sources are located, type:
29
-
30
- ant clean jar
31
-
32
- to clean any leftovers from previous builds and generate the `.jar` files.
33
- To generate a RubyGem, specify the `gem` action rather than `jar`.