json_pure 2.4.0 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
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`.