multi_json 1.13.1 → 1.15.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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +15 -0
- data/README.md +10 -14
- data/lib/multi_json.rb +1 -1
- data/lib/multi_json/adapters/nsjsonserialization.rb +3 -0
- data/lib/multi_json/adapters/oj.rb +23 -4
- data/lib/multi_json/options_cache.rb +2 -2
- data/lib/multi_json/version.rb +2 -2
- metadata +28 -32
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -1
- metadata.gz.sig +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ba3f1870ebd467a8356a8138d7bba83f224659a5cea2d4f9a845fa88e8d4934f
|
4
|
+
data.tar.gz: 89051067684a2f7f101dbc1b00e8cc4a417fdb9b829e476db6d90ea2cc4cf37b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f317d2719838c2466a2ca066b25259a2653cf639198a9e47fc0c0365a8a02e8307feaa4392b445ae1f918c92c4cc7deb833e1c1945c4682cd3dac3d91af9789
|
7
|
+
data.tar.gz: 81b37aeb82f9744a93eec867a54e3a83537bedb6f29747818187b6fc27d599a6ee88f239db382f85ed840319e19452f43f09c29655ac664e9a4680bc33c335a8
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,18 @@
|
|
1
|
+
1.14.2
|
2
|
+
------
|
3
|
+
|
4
|
+
* [Improve detection of json_gem adapter](https://github.com/intridea/multi_json/commit/62d54019b17ebf83b28c8deb871a02a122e7d9cf)
|
5
|
+
|
6
|
+
1.14.1
|
7
|
+
------
|
8
|
+
|
9
|
+
* [Fix a warning in Ruby 2.7](https://github.com/intridea/multi_json/commit/26a94ab8c78a394cc237e2ea292c1de4f6ed30d7)
|
10
|
+
|
11
|
+
1.14.0
|
12
|
+
------
|
13
|
+
|
14
|
+
* [Support Oj 3.x gem](https://github.com/intridea/multi_json/commit/5d8febdbebc428882811b90d514f3628617a61d5)
|
15
|
+
|
1
16
|
1.13.1
|
2
17
|
------
|
3
18
|
|
data/README.md
CHANGED
@@ -2,8 +2,7 @@
|
|
2
2
|
|
3
3
|
[][gem]
|
4
4
|
[][travis]
|
5
|
-
[][codeclimate]
|
5
|
+
[][codeclimate]
|
7
6
|
|
8
7
|
Lots of Ruby libraries parse JSON and everyone has their favorite JSON coder.
|
9
8
|
Instead of choosing a single JSON coder and forcing users of your library to be
|
@@ -61,17 +60,16 @@ MultiJSON falls back to [OkJson][], a simple, vendorable JSON parser.
|
|
61
60
|
This library aims to support and is [tested against][travis] the following Ruby
|
62
61
|
implementations:
|
63
62
|
|
64
|
-
* Ruby 1.8
|
65
|
-
* Ruby 1.9
|
66
|
-
* Ruby
|
67
|
-
* Ruby 2.
|
68
|
-
* Ruby 2.
|
69
|
-
* Ruby 2.
|
70
|
-
* Ruby 2.
|
71
|
-
* Ruby 2.
|
63
|
+
* Ruby 1.8
|
64
|
+
* Ruby 1.9
|
65
|
+
* Ruby 2.0
|
66
|
+
* Ruby 2.1
|
67
|
+
* Ruby 2.2
|
68
|
+
* Ruby 2.4
|
69
|
+
* Ruby 2.5
|
70
|
+
* Ruby 2.6
|
71
|
+
* Ruby 2.7
|
72
72
|
* [JRuby][]
|
73
|
-
* [Rubinius][]
|
74
|
-
* [MacRuby][] (not tested on Travis CI)
|
75
73
|
|
76
74
|
If something doesn't work in one of these implementations, it's a bug.
|
77
75
|
|
@@ -107,7 +105,6 @@ and Pavel Pravosud. See [LICENSE][] for details.
|
|
107
105
|
|
108
106
|
[codeclimate]: https://codeclimate.com/github/intridea/multi_json
|
109
107
|
[gem]: https://rubygems.org/gems/multi_json
|
110
|
-
[gemnasium]: https://gemnasium.com/intridea/multi_json
|
111
108
|
[gson]: https://github.com/avsej/gson.rb
|
112
109
|
[jrjackson]: https://github.com/guyboertje/jrjackson
|
113
110
|
[jruby]: http://www.jruby.org/
|
@@ -119,7 +116,6 @@ and Pavel Pravosud. See [LICENSE][] for details.
|
|
119
116
|
[oj]: https://github.com/ohler55/oj
|
120
117
|
[okjson]: https://github.com/kr/okjson
|
121
118
|
[pvc]: http://docs.rubygems.org/read/chapter/16#page74
|
122
|
-
[rubinius]: http://rubini.us/
|
123
119
|
[semver]: http://semver.org/
|
124
120
|
[travis]: http://travis-ci.org/intridea/multi_json
|
125
121
|
[yajl]: https://github.com/brianmario/yajl-ruby
|
data/lib/multi_json.rb
CHANGED
@@ -47,7 +47,7 @@ module MultiJson
|
|
47
47
|
return :oj if defined?(::Oj)
|
48
48
|
return :yajl if defined?(::Yajl)
|
49
49
|
return :jr_jackson if defined?(::JrJackson)
|
50
|
-
return :json_gem if defined?(::JSON::
|
50
|
+
return :json_gem if defined?(::JSON::Ext::Parser)
|
51
51
|
return :gson if defined?(::Gson)
|
52
52
|
|
53
53
|
REQUIREMENT_MAP.each do |adapter, library|
|
@@ -1,3 +1,6 @@
|
|
1
|
+
# This adapter is here for legacy reasons. We can't really test it, so it's hard
|
2
|
+
# to tell if it's even working properly. If you're still using it, please
|
3
|
+
# consider migrating to any other adapter out there.
|
1
4
|
framework 'Foundation'
|
2
5
|
require 'multi_json/adapters/ok_json'
|
3
6
|
|
@@ -34,10 +34,29 @@ module MultiJson
|
|
34
34
|
::Oj.load(string, options)
|
35
35
|
end
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
37
|
+
case ::Oj::VERSION
|
38
|
+
when /\A2\./
|
39
|
+
def dump(object, options = {})
|
40
|
+
options.merge!(:indent => 2) if options[:pretty]
|
41
|
+
options[:indent] = options[:indent].to_i if options[:indent]
|
42
|
+
::Oj.dump(object, options)
|
43
|
+
end
|
44
|
+
when /\A3\./
|
45
|
+
PRETTY_STATE_PROTOTYPE = {
|
46
|
+
:indent => " ",
|
47
|
+
:space => " ",
|
48
|
+
:space_before => "",
|
49
|
+
:object_nl => "\n",
|
50
|
+
:array_nl => "\n",
|
51
|
+
:ascii_only => false,
|
52
|
+
}
|
53
|
+
|
54
|
+
def dump(object, options = {})
|
55
|
+
options.merge!(PRETTY_STATE_PROTOTYPE.dup) if options.delete(:pretty)
|
56
|
+
::Oj.dump(object, options)
|
57
|
+
end
|
58
|
+
else
|
59
|
+
fail "Unsupported Oj version: #{::Oj::VERSION}"
|
41
60
|
end
|
42
61
|
end
|
43
62
|
end
|
@@ -7,9 +7,9 @@ module MultiJson
|
|
7
7
|
@load_cache = {}
|
8
8
|
end
|
9
9
|
|
10
|
-
def fetch(type, key)
|
10
|
+
def fetch(type, key, &block)
|
11
11
|
cache = instance_variable_get("@#{type}_cache")
|
12
|
-
cache.key?(key) ? cache[key] : write(cache, key, &
|
12
|
+
cache.key?(key) ? cache[key] : write(cache, key, &block)
|
13
13
|
end
|
14
14
|
|
15
15
|
private
|
data/lib/multi_json/version.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
module MultiJson
|
2
2
|
class Version
|
3
3
|
MAJOR = 1 unless defined? MultiJson::Version::MAJOR
|
4
|
-
MINOR =
|
5
|
-
PATCH =
|
4
|
+
MINOR = 15 unless defined? MultiJson::Version::MINOR
|
5
|
+
PATCH = 0 unless defined? MultiJson::Version::PATCH
|
6
6
|
PRE = nil unless defined? MultiJson::Version::PRE
|
7
7
|
|
8
8
|
class << self
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: multi_json
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Bleigh
|
@@ -10,45 +10,37 @@ authors:
|
|
10
10
|
- Pavel Pravosud
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
|
-
cert_chain:
|
14
|
-
-
|
15
|
-
-----BEGIN CERTIFICATE-----
|
16
|
-
MIIDYDCCAkigAwIBAgIBATANBgkqhkiG9w0BAQUFADA7MQ0wCwYDVQQDDAR5b3Vy
|
17
|
-
MRUwEwYKCZImiZPyLGQBGRYFZW1haWwxEzARBgoJkiaJk/IsZAEZFgNjb20wHhcN
|
18
|
-
MTgwMTA4MjIyOTMyWhcNMTkwMTA4MjIyOTMyWjA7MQ0wCwYDVQQDDAR5b3VyMRUw
|
19
|
-
EwYKCZImiZPyLGQBGRYFZW1haWwxEzARBgoJkiaJk/IsZAEZFgNjb20wggEiMA0G
|
20
|
-
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDG77wIkJev2/a8aPpyEYBhj7izfPiP
|
21
|
-
C66ZWkPauvkV6MB2CPEH27ivgtHAxxu8R31C+ZXDL9WA+LLwrklcbAyaPynTEV/g
|
22
|
-
eYp6dxptxmeXoHT+CLrDaQtpEpOmljEUg7CPaSNjXw3/Qi7QndsPh88c8X97dFvb
|
23
|
-
+yCf9NCI1QjyES4dLEioKqk/smf54zEM508iPlsAdxKDZ12LPOxVY8+q/dWRtlCK
|
24
|
-
6upwAddBhiVl5uksKD26NtaQNMgPXmqYLN3A2eLtktPncF+IYK5DRIPnRd6RhNuV
|
25
|
-
ZCxXw6UPH0IIYp62bNAb5IneaooJ/ROlBRC1qGfLIx1IA8BkwfITUJYrAgMBAAGj
|
26
|
-
bzBtMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQudQhSt5zoh7J8
|
27
|
-
RFSAHv5Aycm0pDAZBgNVHREEEjAQgQ55b3VyQGVtYWlsLmNvbTAZBgNVHRIEEjAQ
|
28
|
-
gQ55b3VyQGVtYWlsLmNvbTANBgkqhkiG9w0BAQUFAAOCAQEAuDFit+TKy6Z8i02y
|
29
|
-
htEeuNL9ZNVBfmv6Li6AdUKoiCgStjbH0NKaC6eTx+4glHfZS3o/vLdnHKeoWwJs
|
30
|
-
kVIWEQgaUVabD+bkdS9s5icM3ox2XxRJd9uDW62WvFHFZzbJiLkop9XvnnAgMlGy
|
31
|
-
O4oewvfU2u5E1kTY9nGnnTngKaw0Zh1VN6yexwv1FIOBXAaAYclVTfbEEzBqHLK/
|
32
|
-
80mUboJWH2DXpWM6JCwGR7Blt2Zsfp172JjwW75/VQwPndKZDCkjTN/7MbHgvUQR
|
33
|
-
X7myOZyY2pB6iYleyWB68zhOnqbtf/3ZYS8vfSd1M5qt8TzmgR4VdbogpEr4wRV6
|
34
|
-
KG+kpw==
|
35
|
-
-----END CERTIFICATE-----
|
36
|
-
date: 2018-01-10 00:00:00.000000000 Z
|
13
|
+
cert_chain: []
|
14
|
+
date: 2020-07-10 00:00:00.000000000 Z
|
37
15
|
dependencies:
|
38
16
|
- !ruby/object:Gem::Dependency
|
39
|
-
name:
|
17
|
+
name: rake
|
40
18
|
requirement: !ruby/object:Gem::Requirement
|
41
19
|
requirements:
|
42
20
|
- - "~>"
|
43
21
|
- !ruby/object:Gem::Version
|
44
|
-
version: '
|
22
|
+
version: '10.5'
|
45
23
|
type: :development
|
46
24
|
prerelease: false
|
47
25
|
version_requirements: !ruby/object:Gem::Requirement
|
48
26
|
requirements:
|
49
27
|
- - "~>"
|
50
28
|
- !ruby/object:Gem::Version
|
51
|
-
version: '
|
29
|
+
version: '10.5'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - "~>"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '3.9'
|
37
|
+
type: :development
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '3.9'
|
52
44
|
description: A common interface to multiple JSON libraries, including Oj, Yajl, the
|
53
45
|
JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb,
|
54
46
|
JrJackson, and OkJson.
|
@@ -83,10 +75,15 @@ files:
|
|
83
75
|
- lib/multi_json/parse_error.rb
|
84
76
|
- lib/multi_json/vendor/okjson.rb
|
85
77
|
- lib/multi_json/version.rb
|
86
|
-
homepage:
|
78
|
+
homepage: https://github.com/intridea/multi_json
|
87
79
|
licenses:
|
88
80
|
- MIT
|
89
|
-
metadata:
|
81
|
+
metadata:
|
82
|
+
bug_tracker_uri: https://github.com/intridea/multi_json/issues
|
83
|
+
changelog_uri: https://github.com/intridea/multi_json/blob/v1.15.0/CHANGELOG.md
|
84
|
+
documentation_uri: https://www.rubydoc.info/gems/multi_json/1.15.0
|
85
|
+
source_code_uri: https://github.com/intridea/multi_json/tree/v1.15.0
|
86
|
+
wiki_uri: https://github.com/intridea/multi_json/wiki
|
90
87
|
post_install_message:
|
91
88
|
rdoc_options: []
|
92
89
|
require_paths:
|
@@ -102,8 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
99
|
- !ruby/object:Gem::Version
|
103
100
|
version: 1.3.5
|
104
101
|
requirements: []
|
105
|
-
|
106
|
-
rubygems_version: 2.6.14
|
102
|
+
rubygems_version: 3.0.3
|
107
103
|
signing_key:
|
108
104
|
specification_version: 4
|
109
105
|
summary: A common interface to multiple JSON libraries.
|
checksums.yaml.gz.sig
DELETED
Binary file
|
data.tar.gz.sig
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
kx|�1��a��eW�V貏�a�ڏ�_P�D*���>R�%���I"]�C������W<���H%�J��7c�R��HMV0�2�h32jj9W�e��ar����>;\o��p��ܬ���;ԕyC�N��
|
metadata.gz.sig
DELETED