multi_json 1.11.2 → 1.11.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/README.md +3 -1
- data/lib/multi_json.rb +31 -31
- data/lib/multi_json/adapter.rb +4 -6
- data/lib/multi_json/adapters/gson.rb +2 -2
- data/lib/multi_json/adapters/jr_jackson.rb +2 -2
- data/lib/multi_json/adapters/json_common.rb +2 -2
- data/lib/multi_json/adapters/nsjsonserialization.rb +6 -7
- data/lib/multi_json/adapters/oj.rb +2 -2
- data/lib/multi_json/adapters/ok_json.rb +2 -2
- data/lib/multi_json/adapters/yajl.rb +2 -2
- data/lib/multi_json/convertible_hash_keys.rb +1 -1
- data/lib/multi_json/options.rb +3 -4
- data/lib/multi_json/vendor/okjson.rb +5 -5
- data/lib/multi_json/version.rb +3 -6
- data/multi_json.gemspec +14 -14
- metadata +18 -18
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da198b4f59c9d69641161993e95453c51ea9d4b2
|
4
|
+
data.tar.gz: 2ca02cd8fcfc8c1a6319c8cb335bb7c2e85ed178
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9bf429b82738b7bcfc3ed90ad64d46bf86531a09330de9a020fd058d23047f130b1b19450bff41baade22372de960c27fee6808688a1d2363bca5c27fbd9274c
|
7
|
+
data.tar.gz: b4b51d664ac7fc469003a01c0a54fad91654678f079cc71586b2481b72259988f971efa8954298f528af5cf65b60d01e23cd45985cc066b64df20061bcf3859e
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/README.md
CHANGED
data/lib/multi_json.rb
CHANGED
@@ -8,34 +8,34 @@ module MultiJson
|
|
8
8
|
extend self
|
9
9
|
|
10
10
|
def default_options=(value)
|
11
|
-
Kernel.warn "MultiJson.default_options setter is deprecated\n"
|
12
|
-
|
11
|
+
Kernel.warn "MultiJson.default_options setter is deprecated\n" \
|
12
|
+
'Use MultiJson.load_options and MultiJson.dump_options instead'
|
13
13
|
|
14
14
|
self.load_options = self.dump_options = value
|
15
15
|
end
|
16
16
|
|
17
17
|
def default_options
|
18
|
-
Kernel.warn "MultiJson.default_options is deprecated\n"
|
19
|
-
|
18
|
+
Kernel.warn "MultiJson.default_options is deprecated\n" \
|
19
|
+
'Use MultiJson.load_options or MultiJson.dump_options instead'
|
20
20
|
|
21
|
-
|
21
|
+
load_options
|
22
22
|
end
|
23
23
|
|
24
|
-
%w
|
24
|
+
%w(cached_options reset_cached_options!).each do |method_name|
|
25
25
|
define_method method_name do |*|
|
26
26
|
Kernel.warn "MultiJson.#{method_name} method is deprecated and no longer used."
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
-
ALIASES = {
|
30
|
+
ALIASES = {'jrjackson' => 'jr_jackson'}
|
31
31
|
|
32
32
|
REQUIREMENT_MAP = [
|
33
|
-
['oj'
|
34
|
-
['yajl'
|
35
|
-
['jrjackson'
|
36
|
-
['json/ext'
|
37
|
-
['gson'
|
38
|
-
['json/pure',
|
33
|
+
[:oj, 'oj'],
|
34
|
+
[:yajl, 'yajl'],
|
35
|
+
[:jr_jackson, 'jrjackson'],
|
36
|
+
[:json_gem, 'json/ext'],
|
37
|
+
[:gson, 'gson'],
|
38
|
+
[:json_pure, 'json/pure'],
|
39
39
|
]
|
40
40
|
|
41
41
|
# The default adapter based on what you currently
|
@@ -49,7 +49,7 @@ module MultiJson
|
|
49
49
|
return :json_gem if defined?(::JSON::JSON_LOADED)
|
50
50
|
return :gson if defined?(::Gson)
|
51
51
|
|
52
|
-
REQUIREMENT_MAP.each do |
|
52
|
+
REQUIREMENT_MAP.each do |adapter, library|
|
53
53
|
begin
|
54
54
|
require library
|
55
55
|
return adapter
|
@@ -58,22 +58,22 @@ module MultiJson
|
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
-
Kernel.warn '[WARNING] MultiJson is using the default adapter (ok_json).'
|
61
|
+
Kernel.warn '[WARNING] MultiJson is using the default adapter (ok_json). ' \
|
62
62
|
'We recommend loading a different JSON library to improve performance.'
|
63
63
|
|
64
64
|
:ok_json
|
65
65
|
end
|
66
|
-
|
66
|
+
alias_method :default_engine, :default_adapter
|
67
67
|
|
68
68
|
# Get the current adapter class.
|
69
69
|
def adapter
|
70
70
|
return @adapter if defined?(@adapter) && @adapter
|
71
71
|
|
72
|
-
|
72
|
+
use nil # load default adapter
|
73
73
|
|
74
74
|
@adapter
|
75
75
|
end
|
76
|
-
|
76
|
+
alias_method :engine, :adapter
|
77
77
|
|
78
78
|
# Set the JSON parser utilizing a symbol, string, or class.
|
79
79
|
# Supported by default are:
|
@@ -89,8 +89,8 @@ module MultiJson
|
|
89
89
|
def use(new_adapter)
|
90
90
|
@adapter = load_adapter(new_adapter)
|
91
91
|
end
|
92
|
-
|
93
|
-
|
92
|
+
alias_method :adapter=, :use
|
93
|
+
alias_method :engine=, :use
|
94
94
|
|
95
95
|
def load_adapter(new_adapter)
|
96
96
|
case new_adapter
|
@@ -101,7 +101,7 @@ module MultiJson
|
|
101
101
|
when Class, Module
|
102
102
|
new_adapter
|
103
103
|
else
|
104
|
-
|
104
|
+
fail ::LoadError, new_adapter
|
105
105
|
end
|
106
106
|
rescue ::LoadError => exception
|
107
107
|
raise AdapterError.build(exception)
|
@@ -113,7 +113,7 @@ module MultiJson
|
|
113
113
|
#
|
114
114
|
# <tt>:symbolize_keys</tt> :: If true, will use symbols instead of strings for the keys.
|
115
115
|
# <tt>:adapter</tt> :: If set, the selected adapter will be used for this call.
|
116
|
-
def load(string, options={})
|
116
|
+
def load(string, options = {})
|
117
117
|
adapter = current_adapter(options)
|
118
118
|
begin
|
119
119
|
adapter.load(string, options)
|
@@ -121,10 +121,10 @@ module MultiJson
|
|
121
121
|
raise ParseError.build(exception, string)
|
122
122
|
end
|
123
123
|
end
|
124
|
-
|
124
|
+
alias_method :decode, :load
|
125
125
|
|
126
|
-
def current_adapter(options={})
|
127
|
-
if new_adapter = options[:adapter]
|
126
|
+
def current_adapter(options = {})
|
127
|
+
if (new_adapter = options[:adapter])
|
128
128
|
load_adapter(new_adapter)
|
129
129
|
else
|
130
130
|
adapter
|
@@ -132,21 +132,22 @@ module MultiJson
|
|
132
132
|
end
|
133
133
|
|
134
134
|
# Encodes a Ruby object as JSON.
|
135
|
-
def dump(object, options={})
|
135
|
+
def dump(object, options = {})
|
136
136
|
current_adapter(options).dump(object, options)
|
137
137
|
end
|
138
|
-
|
138
|
+
alias_method :encode, :dump
|
139
139
|
|
140
140
|
# Executes passed block using specified adapter.
|
141
141
|
def with_adapter(new_adapter)
|
142
|
-
old_adapter
|
142
|
+
old_adapter = adapter
|
143
|
+
self.adapter = new_adapter
|
143
144
|
yield
|
144
145
|
ensure
|
145
146
|
self.adapter = old_adapter
|
146
147
|
end
|
147
|
-
|
148
|
+
alias_method :with_engine, :with_adapter
|
148
149
|
|
149
|
-
|
150
|
+
private
|
150
151
|
|
151
152
|
def load_adapter_from_string_name(name)
|
152
153
|
name = ALIASES.fetch(name, name)
|
@@ -154,5 +155,4 @@ module MultiJson
|
|
154
155
|
klass_name = name.to_s.split('_').map(&:capitalize) * ''
|
155
156
|
MultiJson::Adapters.const_get(klass_name)
|
156
157
|
end
|
157
|
-
|
158
158
|
end
|
data/lib/multi_json/adapter.rb
CHANGED
@@ -6,22 +6,21 @@ module MultiJson
|
|
6
6
|
extend Options
|
7
7
|
include Singleton
|
8
8
|
class << self
|
9
|
-
|
10
9
|
def defaults(action, value)
|
11
10
|
metaclass = class << self; self; end
|
12
11
|
|
13
12
|
metaclass.instance_eval do
|
14
|
-
define_method("default_#{action}_options"){ value }
|
13
|
+
define_method("default_#{action}_options") { value }
|
15
14
|
end
|
16
15
|
end
|
17
16
|
|
18
|
-
def load(string, options={})
|
19
|
-
|
17
|
+
def load(string, options = {})
|
18
|
+
fail self::ParseError if blank?(string)
|
20
19
|
string = string.read if string.respond_to?(:read)
|
21
20
|
instance.load(string, load_options(options).merge(MultiJson.load_options(options)).merge!(options))
|
22
21
|
end
|
23
22
|
|
24
|
-
def dump(object, options={})
|
23
|
+
def dump(object, options = {})
|
25
24
|
instance.dump(object, dump_options(options).merge(MultiJson.dump_options(options)).merge!(options))
|
26
25
|
end
|
27
26
|
|
@@ -32,7 +31,6 @@ module MultiJson
|
|
32
31
|
rescue ArgumentError # invalid byte sequence in UTF-8
|
33
32
|
false
|
34
33
|
end
|
35
|
-
|
36
34
|
end
|
37
35
|
end
|
38
36
|
end
|
@@ -8,11 +8,11 @@ module MultiJson
|
|
8
8
|
class Gson < Adapter
|
9
9
|
ParseError = ::Gson::DecodeError
|
10
10
|
|
11
|
-
def load(string, options={})
|
11
|
+
def load(string, options = {})
|
12
12
|
::Gson::Decoder.new(options).decode(string)
|
13
13
|
end
|
14
14
|
|
15
|
-
def dump(object, options={})
|
15
|
+
def dump(object, options = {})
|
16
16
|
::Gson::Encoder.new(options).encode(object)
|
17
17
|
end
|
18
18
|
end
|
@@ -7,7 +7,7 @@ module MultiJson
|
|
7
7
|
class JrJackson < Adapter
|
8
8
|
ParseError = ::JrJackson::ParseError
|
9
9
|
|
10
|
-
def load(string, options={}) #:nodoc:
|
10
|
+
def load(string, options = {}) #:nodoc:
|
11
11
|
::JrJackson::Json.load(string, options)
|
12
12
|
end
|
13
13
|
|
@@ -16,7 +16,7 @@ module MultiJson
|
|
16
16
|
::JrJackson::Json.dump(object)
|
17
17
|
end
|
18
18
|
else
|
19
|
-
def dump(object, options={})
|
19
|
+
def dump(object, options = {})
|
20
20
|
::JrJackson::Json.dump(object, options)
|
21
21
|
end
|
22
22
|
end
|
@@ -5,7 +5,7 @@ module MultiJson
|
|
5
5
|
class JsonCommon < Adapter
|
6
6
|
defaults :load, :create_additions => false, :quirks_mode => true
|
7
7
|
|
8
|
-
def load(string, options={})
|
8
|
+
def load(string, options = {})
|
9
9
|
if string.respond_to?(:force_encoding)
|
10
10
|
string = string.dup.force_encoding(::Encoding::ASCII_8BIT)
|
11
11
|
end
|
@@ -14,7 +14,7 @@ module MultiJson
|
|
14
14
|
::JSON.parse(string, options)
|
15
15
|
end
|
16
16
|
|
17
|
-
def dump(object, options={})
|
17
|
+
def dump(object, options = {})
|
18
18
|
options.merge!(::JSON::PRETTY_STATE_PROTOTYPE.to_h) if options.delete(:pretty)
|
19
19
|
object.to_json(options)
|
20
20
|
end
|
@@ -6,28 +6,27 @@ module MultiJson
|
|
6
6
|
class Nsjsonserialization < MultiJson::Adapters::OkJson
|
7
7
|
ParseError = ::MultiJson::OkJson::Error
|
8
8
|
|
9
|
-
def load(string, options={})
|
9
|
+
def load(string, options = {})
|
10
10
|
data = string.dataUsingEncoding(NSUTF8StringEncoding)
|
11
|
-
object = NSJSONSerialization.JSONObjectWithData(data, options
|
11
|
+
object = NSJSONSerialization.JSONObjectWithData(data, :options => NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves, :error => nil)
|
12
12
|
if object
|
13
13
|
object = symbolize_keys(object) if options[:symbolize_keys]
|
14
14
|
object
|
15
15
|
else
|
16
|
-
super(string, options
|
16
|
+
super(string, options)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
def dump(object, options={})
|
20
|
+
def dump(object, options = {})
|
21
21
|
pretty = options[:pretty] ? NSJSONWritingPrettyPrinted : 0
|
22
22
|
object = object.as_json if object.respond_to?(:as_json)
|
23
23
|
if NSJSONSerialization.isValidJSONObject(object)
|
24
|
-
data = NSJSONSerialization.dataWithJSONObject(object, options
|
25
|
-
NSMutableString.alloc.initWithData(data, encoding
|
24
|
+
data = NSJSONSerialization.dataWithJSONObject(object, :options => pretty, :error => nil)
|
25
|
+
NSMutableString.alloc.initWithData(data, :encoding => NSUTF8StringEncoding)
|
26
26
|
else
|
27
27
|
super(object, options)
|
28
28
|
end
|
29
29
|
end
|
30
|
-
|
31
30
|
end
|
32
31
|
end
|
33
32
|
end
|
@@ -10,12 +10,12 @@ module MultiJson
|
|
10
10
|
|
11
11
|
ParseError = defined?(::Oj::ParseError) ? ::Oj::ParseError : SyntaxError
|
12
12
|
|
13
|
-
def load(string, options={})
|
13
|
+
def load(string, options = {})
|
14
14
|
options[:symbol_keys] = options.delete(:symbolize_keys)
|
15
15
|
::Oj.load(string, options)
|
16
16
|
end
|
17
17
|
|
18
|
-
def dump(object, options={})
|
18
|
+
def dump(object, options = {})
|
19
19
|
options.merge!(:indent => 2) if options[:pretty]
|
20
20
|
options[:indent] = options[:indent].to_i if options[:indent]
|
21
21
|
::Oj.dump(object, options)
|
@@ -8,14 +8,14 @@ module MultiJson
|
|
8
8
|
include ConvertibleHashKeys
|
9
9
|
ParseError = ::MultiJson::OkJson::Error
|
10
10
|
|
11
|
-
def load(string, options={})
|
11
|
+
def load(string, options = {})
|
12
12
|
result = ::MultiJson::OkJson.decode("[#{string}]").first
|
13
13
|
options[:symbolize_keys] ? symbolize_keys(result) : result
|
14
14
|
rescue ArgumentError # invalid byte sequence in UTF-8
|
15
15
|
raise ParseError
|
16
16
|
end
|
17
17
|
|
18
|
-
def dump(object,
|
18
|
+
def dump(object, _ = {})
|
19
19
|
::MultiJson::OkJson.valenc(stringify_keys(object))
|
20
20
|
end
|
21
21
|
end
|
@@ -7,11 +7,11 @@ module MultiJson
|
|
7
7
|
class Yajl < Adapter
|
8
8
|
ParseError = ::Yajl::ParseError
|
9
9
|
|
10
|
-
def load(string, options={})
|
10
|
+
def load(string, options = {})
|
11
11
|
::Yajl::Parser.new(:symbolize_keys => options[:symbolize_keys]).parse(string)
|
12
12
|
end
|
13
13
|
|
14
|
-
def dump(object, options={})
|
14
|
+
def dump(object, options = {})
|
15
15
|
::Yajl::Encoder.encode(object, options)
|
16
16
|
end
|
17
17
|
end
|
data/lib/multi_json/options.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
module MultiJson
|
2
2
|
module Options
|
3
|
-
|
4
3
|
def load_options=(options)
|
5
4
|
@load_options = options
|
6
5
|
end
|
@@ -25,12 +24,12 @@ module MultiJson
|
|
25
24
|
@default_dump_options ||= {}
|
26
25
|
end
|
27
26
|
|
28
|
-
|
27
|
+
private
|
29
28
|
|
30
29
|
def get_options(options, *args)
|
31
|
-
if options.respond_to?(:call)
|
30
|
+
if options.respond_to?(:call) && options.arity
|
32
31
|
options.arity == 0 ? options[] : options[*args]
|
33
|
-
elsif
|
32
|
+
elsif options.respond_to?(:to_hash)
|
34
33
|
options.to_hash
|
35
34
|
end
|
36
35
|
end
|
@@ -26,10 +26,10 @@ require 'stringio'
|
|
26
26
|
|
27
27
|
module MultiJson
|
28
28
|
# Some parts adapted from
|
29
|
-
#
|
30
|
-
#
|
29
|
+
# https://golang.org/src/encoding/json/decode.go and
|
30
|
+
# https://golang.org/src/unicode/utf8/utf8.go
|
31
31
|
module OkJson
|
32
|
-
Upstream = '
|
32
|
+
Upstream = '45'
|
33
33
|
extend self
|
34
34
|
|
35
35
|
|
@@ -266,14 +266,14 @@ module MultiJson
|
|
266
266
|
|
267
267
|
|
268
268
|
def numtok(s)
|
269
|
-
m =
|
269
|
+
m = /(-?(?:[1-9][0-9]+|[0-9]))([.][0-9]+)?([eE][+-]?[0-9]+)?/.match(s)
|
270
270
|
if m && m.begin(0) == 0
|
271
271
|
if !m[2] && !m[3]
|
272
272
|
[:val, m[0], Integer(m[0])]
|
273
273
|
elsif m[2]
|
274
274
|
[:val, m[0], Float(m[0])]
|
275
275
|
else
|
276
|
-
[:val, m[0], Integer(m[1])*(10**
|
276
|
+
[:val, m[0], Integer(m[1])*(10**m[3][1..-1].to_i(10))]
|
277
277
|
end
|
278
278
|
else
|
279
279
|
[]
|
data/lib/multi_json/version.rb
CHANGED
@@ -1,19 +1,16 @@
|
|
1
1
|
module MultiJson
|
2
2
|
class Version
|
3
|
-
MAJOR =
|
3
|
+
MAJOR = 1 unless defined? MultiJson::Version::MAJOR
|
4
4
|
MINOR = 11 unless defined? MultiJson::Version::MINOR
|
5
|
-
PATCH =
|
6
|
-
PRE =
|
5
|
+
PATCH = 3 unless defined? MultiJson::Version::PATCH
|
6
|
+
PRE = nil unless defined? MultiJson::Version::PRE
|
7
7
|
|
8
8
|
class << self
|
9
|
-
|
10
9
|
# @return [String]
|
11
10
|
def to_s
|
12
11
|
[MAJOR, MINOR, PATCH, PRE].compact.join('.')
|
13
12
|
end
|
14
|
-
|
15
13
|
end
|
16
|
-
|
17
14
|
end
|
18
15
|
|
19
16
|
VERSION = Version.to_s.freeze
|
data/multi_json.gemspec
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
require File.expand_path(
|
2
|
+
require File.expand_path('../lib/multi_json/version.rb', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |spec|
|
5
|
-
spec.authors = [
|
6
|
-
spec.cert_chain = %w
|
7
|
-
spec.summary =
|
8
|
-
spec.description =
|
9
|
-
spec.email = %w
|
10
|
-
spec.files = Dir[
|
11
|
-
spec.homepage =
|
12
|
-
spec.license =
|
13
|
-
spec.name =
|
14
|
-
spec.require_path =
|
15
|
-
spec.signing_key = File.expand_path(
|
5
|
+
spec.authors = ['Michael Bleigh', 'Josh Kalderimis', 'Erik Michaels-Ober', 'Pavel Pravosud']
|
6
|
+
spec.cert_chain = %w(certs/rwz.pem)
|
7
|
+
spec.summary = 'A common interface to multiple JSON libraries.'
|
8
|
+
spec.description = 'A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb, JrJackson, and OkJson.'
|
9
|
+
spec.email = %w(michael@intridea.com josh.kalderimis@gmail.com sferik@gmail.com pavel@pravosud.com)
|
10
|
+
spec.files = Dir['CHANGELOG.md', 'CONTRIBUTING.md', 'LICENSE.md', 'README.md', 'multi_json.gemspec', 'lib/**/*']
|
11
|
+
spec.homepage = 'http://github.com/intridea/multi_json'
|
12
|
+
spec.license = 'MIT'
|
13
|
+
spec.name = 'multi_json'
|
14
|
+
spec.require_path = 'lib'
|
15
|
+
spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem') if $PROGRAM_NAME =~ /gem\z/
|
16
16
|
spec.version = MultiJson::Version
|
17
17
|
|
18
|
-
spec.required_rubygems_version =
|
19
|
-
spec.add_development_dependency
|
18
|
+
spec.required_rubygems_version = '>= 1.3.5'
|
19
|
+
spec.add_development_dependency 'bundler', '~> 1.0'
|
20
20
|
end
|
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.11.
|
4
|
+
version: 1.11.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Bleigh
|
@@ -15,25 +15,25 @@ cert_chain:
|
|
15
15
|
-----BEGIN CERTIFICATE-----
|
16
16
|
MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MQ4wDAYDVQQDDAVwYXZl
|
17
17
|
bDEYMBYGCgmSJomT8ixkARkWCHByYXZvc3VkMRMwEQYKCZImiZPyLGQBGRYDY29t
|
18
|
-
|
18
|
+
MB4XDTE2MDQyNDIyMDk1MVoXDTE3MDQyNDIyMDk1MVowPzEOMAwGA1UEAwwFcGF2
|
19
19
|
ZWwxGDAWBgoJkiaJk/IsZAEZFghwcmF2b3N1ZDETMBEGCgmSJomT8ixkARkWA2Nv
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
20
|
+
bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK+YCSpSUOeZvxOyp0Zm
|
21
|
+
DhlQ9Kc8ZxgaB3ekCS6lp7hV+eE6nZ84j4RLEqhfx0Vffx+yCmSx0lWum6eY9aOy
|
22
|
+
rr+uCtiSiL+HR7t6KHqQ5myXwIvT7B+SqMYw8223fMFZMUit73PfTaMlIon+EsZB
|
23
|
+
9TWzVU7MSRIHLr8P92/kExOuDhVcqFgmz+pWLeZjCk7r0JI0vxacFEK+ONjXThHk
|
24
|
+
W1IRwy8qaFNiUdnIfTRgZV45T/PHzuLttdkgySTDQkZp198t9Y0m0eEDhpPjHNlr
|
25
|
+
KoXtqUIqk1lmgsKKrOj4vsSX004v869GT45C4qR4/Oa2OyUsWiPf8N3GCYDBnK9C
|
26
|
+
RDcCAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFKm/
|
27
|
+
jUdmc0kO/erio7IwB4zhYGmxMB0GA1UdEQQWMBSBEnBhdmVsQHByYXZvc3VkLmNv
|
28
28
|
bTAdBgNVHRIEFjAUgRJwYXZlbEBwcmF2b3N1ZC5jb20wDQYJKoZIhvcNAQEFBQAD
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
29
|
+
ggEBAGZprwh9PfxTaukluduGO2NWJpI5NC7A/OpoVFrtLTlMKDeoPvCgmNdSejS3
|
30
|
+
6CyH8P3SI3OEkymRnLtQiJeQ//WDb7QPPQDPG0ZuxAylc35ITz7jTPAFC41AoTWM
|
31
|
+
eSDWXP6yq0Gi6vlcvyIoBrvfFRPsg/gGhUp5DYKDLYzaEjNE30bME9fwDvlab7XR
|
32
|
+
v4so5Zmmcof+9apAoaXDtj7HijhJWJcia8GWN5ycuDX38qMcpSU9/PF84s567W6e
|
33
|
+
De8xFEGqLG8vclcTv7gGjDJH5FJTXuwLg41wc8p4ONXEBgLiaC7+S/DVDXWpYxuB
|
34
|
+
akI17ua4eRKTFNvBtzP1802SP1k=
|
35
35
|
-----END CERTIFICATE-----
|
36
|
-
date:
|
36
|
+
date: 2016-04-24 00:00:00.000000000 Z
|
37
37
|
dependencies:
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: bundler
|
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
version: 1.3.5
|
104
104
|
requirements: []
|
105
105
|
rubyforge_project:
|
106
|
-
rubygems_version: 2.
|
106
|
+
rubygems_version: 2.5.2
|
107
107
|
signing_key:
|
108
108
|
specification_version: 4
|
109
109
|
summary: A common interface to multiple JSON libraries.
|
metadata.gz.sig
CHANGED
Binary file
|