Hello community,
here is the log from the commit of package rubygem-multi_json for
openSUSE:Factory checked in at 2016-05-29 03:12:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-multi_json (Old)
and /work/SRC/openSUSE:Factory/.rubygem-multi_json.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-multi_json"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-multi_json/rubygem-multi_json.changes
2015-07-08 06:59:35.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.rubygem-multi_json.new/rubygem-multi_json.changes
2016-05-29 03:13:18.000000000 +0200
@@ -1,0 +2,22 @@
+Sat May 21 04:35:32 UTC 2016 - [email protected]
+
+- updated to version 1.12.1
+ see installed CHANGELOG.md
+
+ 1.12.1
+ ------
+
+ * [Prevent meory leak in
OptionsCache](https://github.com/intridea/multi_json/commit/aa7498199ad272f3d4a13750d7c568a66047e2ee)
+
+ 1.12.0
+ ------
+
+ * [Introduce global options cache to improve
peroformance](https://github.com/intridea/multi_json/commit/7aaef2a1bc2b83c95e4208b12dad5d1d87ff20a6)
+
+-------------------------------------------------------------------
+Mon Apr 25 04:34:27 UTC 2016 - [email protected]
+
+- updated to version 1.11.3
+ see installed CHANGELOG.md
+
+-------------------------------------------------------------------
Old:
----
multi_json-1.11.2.gem
New:
----
multi_json-1.12.1.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-multi_json.spec ++++++
--- /var/tmp/diff_new_pack.768POu/_old 2016-05-29 03:13:19.000000000 +0200
+++ /var/tmp/diff_new_pack.768POu/_new 2016-05-29 03:13:19.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-multi_json
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
#
Name: rubygem-multi_json
-Version: 1.11.2
+Version: 1.12.1
Release: 0
%define mod_name multi_json
%define mod_full_name %{mod_name}-%{version}
++++++ multi_json-1.11.2.gem -> multi_json-1.12.1.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2015-07-04 09:27:20.000000000 +0200
+++ new/CHANGELOG.md 2016-05-19 01:05:06.000000000 +0200
@@ -1,3 +1,13 @@
+1.12.1
+------
+
+* [Prevent meory leak in
OptionsCache](https://github.com/intridea/multi_json/commit/aa7498199ad272f3d4a13750d7c568a66047e2ee)
+
+1.12.0
+------
+
+* [Introduce global options cache to improve
peroformance](https://github.com/intridea/multi_json/commit/7aaef2a1bc2b83c95e4208b12dad5d1d87ff20a6)
+
1.11.2
------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md 2015-07-04 09:27:20.000000000 +0200
+++ new/README.md 2016-05-19 01:05:06.000000000 +0200
@@ -72,7 +72,9 @@
* Ruby 1.9.2
* Ruby 1.9.3
* Ruby 2.0.0
-* Ruby 2.1.1
+* Ruby 2.1
+* Ruby 2.2.4
+* Ruby 2.3.1
* [JRuby][]
* [Rubinius][]
* [MacRuby][] (not tested on Travis CI)
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
Files old/checksums.yaml.gz.sig and new/checksums.yaml.gz.sig differ
Files old/data.tar.gz.sig and new/data.tar.gz.sig differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json/adapter.rb
new/lib/multi_json/adapter.rb
--- old/lib/multi_json/adapter.rb 2015-07-04 09:27:20.000000000 +0200
+++ new/lib/multi_json/adapter.rb 2016-05-19 01:05:06.000000000 +0200
@@ -5,24 +5,24 @@
class Adapter
extend Options
include Singleton
- class << self
+ class << self
def defaults(action, value)
metaclass = class << self; self; end
metaclass.instance_eval do
- define_method("default_#{action}_options"){ value }
+ define_method("default_#{action}_options") { value }
end
end
- def load(string, options={})
- raise self::ParseError if blank?(string)
+ def load(string, options = {})
+ fail self::ParseError if blank?(string)
string = string.read if string.respond_to?(:read)
- instance.load(string,
load_options(options).merge(MultiJson.load_options(options)).merge!(options))
+ instance.load(string, cached_load_options(options))
end
- def dump(object, options={})
- instance.dump(object,
dump_options(options).merge(MultiJson.dump_options(options)).merge!(options))
+ def dump(object, options = {})
+ instance.dump(object, cached_dump_options(options))
end
private
@@ -33,6 +33,17 @@
false
end
+ def cached_dump_options(options)
+ OptionsCache.fetch(:dump, options) do
+
dump_options(options).merge(MultiJson.dump_options(options)).merge!(options)
+ end
+ end
+
+ def cached_load_options(options)
+ OptionsCache.fetch(:load, options) do
+
load_options(options).merge(MultiJson.load_options(options)).merge!(options)
+ end
+ end
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json/adapters/gson.rb
new/lib/multi_json/adapters/gson.rb
--- old/lib/multi_json/adapters/gson.rb 2015-07-04 09:27:20.000000000 +0200
+++ new/lib/multi_json/adapters/gson.rb 2016-05-19 01:05:06.000000000 +0200
@@ -8,11 +8,11 @@
class Gson < Adapter
ParseError = ::Gson::DecodeError
- def load(string, options={})
+ def load(string, options = {})
::Gson::Decoder.new(options).decode(string)
end
- def dump(object, options={})
+ def dump(object, options = {})
::Gson::Encoder.new(options).encode(object)
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json/adapters/jr_jackson.rb
new/lib/multi_json/adapters/jr_jackson.rb
--- old/lib/multi_json/adapters/jr_jackson.rb 2015-07-04 09:27:20.000000000
+0200
+++ new/lib/multi_json/adapters/jr_jackson.rb 2016-05-19 01:05:06.000000000
+0200
@@ -7,7 +7,7 @@
class JrJackson < Adapter
ParseError = ::JrJackson::ParseError
- def load(string, options={}) #:nodoc:
+ def load(string, options = {}) #:nodoc:
::JrJackson::Json.load(string, options)
end
@@ -16,7 +16,7 @@
::JrJackson::Json.dump(object)
end
else
- def dump(object, options={})
+ def dump(object, options = {})
::JrJackson::Json.dump(object, options)
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json/adapters/json_common.rb
new/lib/multi_json/adapters/json_common.rb
--- old/lib/multi_json/adapters/json_common.rb 2015-07-04 09:27:20.000000000
+0200
+++ new/lib/multi_json/adapters/json_common.rb 2016-05-19 01:05:06.000000000
+0200
@@ -5,7 +5,7 @@
class JsonCommon < Adapter
defaults :load, :create_additions => false, :quirks_mode => true
- def load(string, options={})
+ def load(string, options = {})
if string.respond_to?(:force_encoding)
string = string.dup.force_encoding(::Encoding::ASCII_8BIT)
end
@@ -14,7 +14,7 @@
::JSON.parse(string, options)
end
- def dump(object, options={})
+ def dump(object, options = {})
options.merge!(::JSON::PRETTY_STATE_PROTOTYPE.to_h) if
options.delete(:pretty)
object.to_json(options)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json/adapters/nsjsonserialization.rb
new/lib/multi_json/adapters/nsjsonserialization.rb
--- old/lib/multi_json/adapters/nsjsonserialization.rb 2015-07-04
09:27:20.000000000 +0200
+++ new/lib/multi_json/adapters/nsjsonserialization.rb 2016-05-19
01:05:06.000000000 +0200
@@ -6,28 +6,27 @@
class Nsjsonserialization < MultiJson::Adapters::OkJson
ParseError = ::MultiJson::OkJson::Error
- def load(string, options={})
+ def load(string, options = {})
data = string.dataUsingEncoding(NSUTF8StringEncoding)
- object = NSJSONSerialization.JSONObjectWithData(data, options:
NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves, error: nil)
+ object = NSJSONSerialization.JSONObjectWithData(data, :options =>
NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves, :error => nil)
if object
object = symbolize_keys(object) if options[:symbolize_keys]
object
else
- super(string, options={})
+ super(string, options)
end
end
- def dump(object, options={})
+ def dump(object, options = {})
pretty = options[:pretty] ? NSJSONWritingPrettyPrinted : 0
object = object.as_json if object.respond_to?(:as_json)
if NSJSONSerialization.isValidJSONObject(object)
- data = NSJSONSerialization.dataWithJSONObject(object, options:
pretty, error: nil)
- NSMutableString.alloc.initWithData(data, encoding:
NSUTF8StringEncoding)
+ data = NSJSONSerialization.dataWithJSONObject(object, :options =>
pretty, :error => nil)
+ NSMutableString.alloc.initWithData(data, :encoding =>
NSUTF8StringEncoding)
else
super(object, options)
end
end
-
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json/adapters/oj.rb
new/lib/multi_json/adapters/oj.rb
--- old/lib/multi_json/adapters/oj.rb 2015-07-04 09:27:20.000000000 +0200
+++ new/lib/multi_json/adapters/oj.rb 2016-05-19 01:05:06.000000000 +0200
@@ -10,12 +10,12 @@
ParseError = defined?(::Oj::ParseError) ? ::Oj::ParseError : SyntaxError
- def load(string, options={})
- options[:symbol_keys] = options.delete(:symbolize_keys)
+ def load(string, options = {})
+ options[:symbol_keys] = options[:symbolize_keys]
::Oj.load(string, options)
end
- def dump(object, options={})
+ def dump(object, options = {})
options.merge!(:indent => 2) if options[:pretty]
options[:indent] = options[:indent].to_i if options[:indent]
::Oj.dump(object, options)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json/adapters/ok_json.rb
new/lib/multi_json/adapters/ok_json.rb
--- old/lib/multi_json/adapters/ok_json.rb 2015-07-04 09:27:20.000000000
+0200
+++ new/lib/multi_json/adapters/ok_json.rb 2016-05-19 01:05:06.000000000
+0200
@@ -8,14 +8,14 @@
include ConvertibleHashKeys
ParseError = ::MultiJson::OkJson::Error
- def load(string, options={})
+ def load(string, options = {})
result = ::MultiJson::OkJson.decode("[#{string}]").first
options[:symbolize_keys] ? symbolize_keys(result) : result
rescue ArgumentError # invalid byte sequence in UTF-8
raise ParseError
end
- def dump(object, options={})
+ def dump(object, _ = {})
::MultiJson::OkJson.valenc(stringify_keys(object))
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json/adapters/yajl.rb
new/lib/multi_json/adapters/yajl.rb
--- old/lib/multi_json/adapters/yajl.rb 2015-07-04 09:27:20.000000000 +0200
+++ new/lib/multi_json/adapters/yajl.rb 2016-05-19 01:05:06.000000000 +0200
@@ -7,11 +7,11 @@
class Yajl < Adapter
ParseError = ::Yajl::ParseError
- def load(string, options={})
+ def load(string, options = {})
::Yajl::Parser.new(:symbolize_keys =>
options[:symbolize_keys]).parse(string)
end
- def dump(object, options={})
+ def dump(object, options = {})
::Yajl::Encoder.encode(object, options)
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json/convertible_hash_keys.rb
new/lib/multi_json/convertible_hash_keys.rb
--- old/lib/multi_json/convertible_hash_keys.rb 2015-07-04 09:27:20.000000000
+0200
+++ new/lib/multi_json/convertible_hash_keys.rb 2016-05-19 01:05:06.000000000
+0200
@@ -1,6 +1,6 @@
module MultiJson
module ConvertibleHashKeys
- private
+ private
def symbolize_keys(hash)
prepare_hash(hash) do |key|
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json/options.rb
new/lib/multi_json/options.rb
--- old/lib/multi_json/options.rb 2015-07-04 09:27:20.000000000 +0200
+++ new/lib/multi_json/options.rb 2016-05-19 01:05:06.000000000 +0200
@@ -1,11 +1,12 @@
module MultiJson
module Options
-
def load_options=(options)
+ OptionsCache.reset
@load_options = options
end
def dump_options=(options)
+ OptionsCache.reset
@dump_options = options
end
@@ -25,12 +26,12 @@
@default_dump_options ||= {}
end
- private
+ private
def get_options(options, *args)
- if options.respond_to?(:call) and options.arity
+ if options.respond_to?(:call) && options.arity
options.arity == 0 ? options[] : options[*args]
- elsif Hash === options or options.respond_to?(:to_hash)
+ elsif options.respond_to?(:to_hash)
options.to_hash
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json/options_cache.rb
new/lib/multi_json/options_cache.rb
--- old/lib/multi_json/options_cache.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/multi_json/options_cache.rb 2016-05-19 01:05:06.000000000 +0200
@@ -0,0 +1,29 @@
+module MultiJson
+ module OptionsCache
+ extend self
+
+ def reset
+ @dump_cache = {}
+ @load_cache = {}
+ end
+
+ def fetch(type, key)
+ cache = instance_variable_get("@#{type}_cache")
+ cache.key?(key) ? cache[key] : write(cache, key, &Proc.new)
+ end
+
+ private
+
+ # Normally MultiJson is used with a few option sets for both dump/load
+ # methods. When options are generated dynamically though, every call would
+ # cause a cache miss and the cache would grow indefinitely. To prevent
+ # this, we just reset the cache every time the number of keys outgrows
+ # 1000.
+ MAX_CACHE_SIZE = 1000
+
+ def write(cache, key)
+ cache.clear if cache.length >= MAX_CACHE_SIZE
+ cache[key] = yield
+ end
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json/vendor/okjson.rb
new/lib/multi_json/vendor/okjson.rb
--- old/lib/multi_json/vendor/okjson.rb 2015-07-04 09:27:20.000000000 +0200
+++ new/lib/multi_json/vendor/okjson.rb 2016-05-19 01:05:06.000000000 +0200
@@ -26,10 +26,10 @@
module MultiJson
# Some parts adapted from
- # http://golang.org/src/pkg/json/decode.go and
- # http://golang.org/src/pkg/utf8/utf8.go
+ # https://golang.org/src/encoding/json/decode.go and
+ # https://golang.org/src/unicode/utf8/utf8.go
module OkJson
- Upstream = '43'
+ Upstream = '45'
extend self
@@ -266,14 +266,14 @@
def numtok(s)
- m = /-?([1-9][0-9]+|[0-9])([.][0-9]+)?([eE][+-]?[0-9]+)?/.match(s)
+ m = /(-?(?:[1-9][0-9]+|[0-9]))([.][0-9]+)?([eE][+-]?[0-9]+)?/.match(s)
if m && m.begin(0) == 0
if !m[2] && !m[3]
[:val, m[0], Integer(m[0])]
elsif m[2]
[:val, m[0], Float(m[0])]
else
- [:val, m[0], Integer(m[1])*(10**Integer(m[3][1..-1]))]
+ [:val, m[0], Integer(m[1])*(10**m[3][1..-1].to_i(10))]
end
else
[]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json/version.rb
new/lib/multi_json/version.rb
--- old/lib/multi_json/version.rb 2015-07-04 09:27:20.000000000 +0200
+++ new/lib/multi_json/version.rb 2016-05-19 01:05:06.000000000 +0200
@@ -1,19 +1,16 @@
module MultiJson
class Version
- MAJOR = 1 unless defined? MultiJson::Version::MAJOR
- MINOR = 11 unless defined? MultiJson::Version::MINOR
- PATCH = 2 unless defined? MultiJson::Version::PATCH
- PRE = nil unless defined? MultiJson::Version::PRE
+ MAJOR = 1 unless defined? MultiJson::Version::MAJOR
+ MINOR = 12 unless defined? MultiJson::Version::MINOR
+ PATCH = 1 unless defined? MultiJson::Version::PATCH
+ PRE = nil unless defined? MultiJson::Version::PRE
class << self
-
# @return [String]
def to_s
[MAJOR, MINOR, PATCH, PRE].compact.join('.')
end
-
end
-
end
VERSION = Version.to_s.freeze
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/multi_json.rb new/lib/multi_json.rb
--- old/lib/multi_json.rb 2015-07-04 09:27:20.000000000 +0200
+++ new/lib/multi_json.rb 2016-05-19 01:05:06.000000000 +0200
@@ -2,40 +2,41 @@
require 'multi_json/version'
require 'multi_json/adapter_error'
require 'multi_json/parse_error'
+require 'multi_json/options_cache'
module MultiJson
include Options
extend self
def default_options=(value)
- Kernel.warn "MultiJson.default_options setter is deprecated\n" +
- "Use MultiJson.load_options and MultiJson.dump_options instead"
+ Kernel.warn "MultiJson.default_options setter is deprecated\n" \
+ 'Use MultiJson.load_options and MultiJson.dump_options instead'
self.load_options = self.dump_options = value
end
def default_options
- Kernel.warn "MultiJson.default_options is deprecated\n" +
- "Use MultiJson.load_options or MultiJson.dump_options instead"
+ Kernel.warn "MultiJson.default_options is deprecated\n" \
+ 'Use MultiJson.load_options or MultiJson.dump_options instead'
- self.load_options
+ load_options
end
- %w[cached_options reset_cached_options!].each do |method_name|
+ %w(cached_options reset_cached_options!).each do |method_name|
define_method method_name do |*|
Kernel.warn "MultiJson.#{method_name} method is deprecated and no longer
used."
end
end
- ALIASES = { 'jrjackson' => 'jr_jackson' }
+ ALIASES = {'jrjackson' => 'jr_jackson'}
REQUIREMENT_MAP = [
- ['oj', :oj],
- ['yajl', :yajl],
- ['jrjackson', :jr_jackson],
- ['json/ext', :json_gem],
- ['gson', :gson],
- ['json/pure', :json_pure]
+ [:oj, 'oj'],
+ [:yajl, 'yajl'],
+ [:jr_jackson, 'jrjackson'],
+ [:json_gem, 'json/ext'],
+ [:gson, 'gson'],
+ [:json_pure, 'json/pure'],
]
# The default adapter based on what you currently
@@ -49,7 +50,7 @@
return :json_gem if defined?(::JSON::JSON_LOADED)
return :gson if defined?(::Gson)
- REQUIREMENT_MAP.each do |library, adapter|
+ REQUIREMENT_MAP.each do |adapter, library|
begin
require library
return adapter
@@ -58,22 +59,22 @@
end
end
- Kernel.warn '[WARNING] MultiJson is using the default adapter (ok_json).' +
+ Kernel.warn '[WARNING] MultiJson is using the default adapter (ok_json). '
\
'We recommend loading a different JSON library to improve performance.'
:ok_json
end
- alias default_engine default_adapter
+ alias_method :default_engine, :default_adapter
# Get the current adapter class.
def adapter
return @adapter if defined?(@adapter) && @adapter
- self.use nil # load default adapter
+ use nil # load default adapter
@adapter
end
- alias engine adapter
+ alias_method :engine, :adapter
# Set the JSON parser utilizing a symbol, string, or class.
# Supported by default are:
@@ -88,9 +89,11 @@
# * <tt>:jr_jackson</tt> (JRuby only)
def use(new_adapter)
@adapter = load_adapter(new_adapter)
+ ensure
+ OptionsCache.reset
end
- alias adapter= use
- alias engine= use
+ alias_method :adapter=, :use
+ alias_method :engine=, :use
def load_adapter(new_adapter)
case new_adapter
@@ -101,7 +104,7 @@
when Class, Module
new_adapter
else
- raise ::LoadError, new_adapter
+ fail ::LoadError, new_adapter
end
rescue ::LoadError => exception
raise AdapterError.build(exception)
@@ -113,7 +116,7 @@
#
# <tt>:symbolize_keys</tt> :: If true, will use symbols instead of strings
for the keys.
# <tt>:adapter</tt> :: If set, the selected adapter will be used for this
call.
- def load(string, options={})
+ def load(string, options = {})
adapter = current_adapter(options)
begin
adapter.load(string, options)
@@ -121,10 +124,10 @@
raise ParseError.build(exception, string)
end
end
- alias decode load
+ alias_method :decode, :load
- def current_adapter(options={})
- if new_adapter = options[:adapter]
+ def current_adapter(options = {})
+ if (new_adapter = options[:adapter])
load_adapter(new_adapter)
else
adapter
@@ -132,21 +135,22 @@
end
# Encodes a Ruby object as JSON.
- def dump(object, options={})
+ def dump(object, options = {})
current_adapter(options).dump(object, options)
end
- alias encode dump
+ alias_method :encode, :dump
# Executes passed block using specified adapter.
def with_adapter(new_adapter)
- old_adapter, self.adapter = adapter, new_adapter
+ old_adapter = adapter
+ self.adapter = new_adapter
yield
ensure
self.adapter = old_adapter
end
- alias with_engine with_adapter
+ alias_method :with_engine, :with_adapter
- private
+private
def load_adapter_from_string_name(name)
name = ALIASES.fetch(name, name)
@@ -154,5 +158,4 @@
klass_name = name.to_s.split('_').map(&:capitalize) * ''
MultiJson::Adapters.const_get(klass_name)
end
-
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2015-07-04 09:27:20.000000000 +0200
+++ new/metadata 2016-05-19 01:05:06.000000000 +0200
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: multi_json
version: !ruby/object:Gem::Version
- version: 1.11.2
+ version: 1.12.1
platform: ruby
authors:
- Michael Bleigh
@@ -15,25 +15,25 @@
-----BEGIN CERTIFICATE-----
MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MQ4wDAYDVQQDDAVwYXZl
bDEYMBYGCgmSJomT8ixkARkWCHByYXZvc3VkMRMwEQYKCZImiZPyLGQBGRYDY29t
- MB4XDTE1MDMwNDA0MTAzNVoXDTE2MDMwMzA0MTAzNVowPzEOMAwGA1UEAwwFcGF2
+ MB4XDTE2MDQyNDIyMDk1MVoXDTE3MDQyNDIyMDk1MVowPzEOMAwGA1UEAwwFcGF2
ZWwxGDAWBgoJkiaJk/IsZAEZFghwcmF2b3N1ZDETMBEGCgmSJomT8ixkARkWA2Nv
- bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKgJODgg1dH3weeyKtQF
- mhC3C8gleHSTZYAt1pMBZQ6QmRD7/kLIfLTJB/zgFUVoNoHVZ8qyFmx89reqk5Z4
- x/rIVskzpB76MushyaEJhw5UrxEZvoCK0b+nSUR8NT0YcznkjSbALBBagny5NWHn
- 98LbVtIQYXdJTgC8xvV1u2Bix1JI/Qv1wuDKCw14XF2AFmT4nPt40FEUk4zWwbGI
- rdKjssA43TGDjzKmzdOpJ4aOble+Zq6N7jBacMdlsqQAvQ0bbGLokp8W7Ci/UNWC
- Q8DwDrjlbURMu729T70yuswrQHyxmh7SISMmjp44+C5ElwVbfcCQQxiwsdAcE3zD
- ST0CAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFJ7X
- Ly29ycziHHerLL3NCavLRSv5MB0GA1UdEQQWMBSBEnBhdmVsQHByYXZvc3VkLmNv
+ bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK+YCSpSUOeZvxOyp0Zm
+ DhlQ9Kc8ZxgaB3ekCS6lp7hV+eE6nZ84j4RLEqhfx0Vffx+yCmSx0lWum6eY9aOy
+ rr+uCtiSiL+HR7t6KHqQ5myXwIvT7B+SqMYw8223fMFZMUit73PfTaMlIon+EsZB
+ 9TWzVU7MSRIHLr8P92/kExOuDhVcqFgmz+pWLeZjCk7r0JI0vxacFEK+ONjXThHk
+ W1IRwy8qaFNiUdnIfTRgZV45T/PHzuLttdkgySTDQkZp198t9Y0m0eEDhpPjHNlr
+ KoXtqUIqk1lmgsKKrOj4vsSX004v869GT45C4qR4/Oa2OyUsWiPf8N3GCYDBnK9C
+ RDcCAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFKm/
+ jUdmc0kO/erio7IwB4zhYGmxMB0GA1UdEQQWMBSBEnBhdmVsQHByYXZvc3VkLmNv
bTAdBgNVHRIEFjAUgRJwYXZlbEBwcmF2b3N1ZC5jb20wDQYJKoZIhvcNAQEFBQAD
- ggEBAJM/D4S0IHFerw9xcEKR2sehNn9deQKsS7auR3wAtxEitrPzKZb+8Uy3KVqP
- Jt/z5WABxO2Bjd7IM+s445lZF6kDsGsYYydlEkf9yzOYrtVmISTJYrsApU8BZQfL
- bWJg8zt1qjAKmmwULsCiYOfIGhUIhKVdVKrlkdXFFCB5v8R124FZXjo43WXZ2OCp
- 4W7nHEaaaZLxrPnZCAiaryoFUL06d78sxq9F4MYfSD4CLdwJjNb5TOrwVAXK9uE9
- 88AJhXqiqrY/cm2sh/xcGvGkhy9YOMyMZZrCAq4ruaXAB+tAkMrJ1paJDJRgErvJ
- 8Vss1khfU5E/Xig1ytdFyNPPkCA=
+ ggEBAGZprwh9PfxTaukluduGO2NWJpI5NC7A/OpoVFrtLTlMKDeoPvCgmNdSejS3
+ 6CyH8P3SI3OEkymRnLtQiJeQ//WDb7QPPQDPG0ZuxAylc35ITz7jTPAFC41AoTWM
+ eSDWXP6yq0Gi6vlcvyIoBrvfFRPsg/gGhUp5DYKDLYzaEjNE30bME9fwDvlab7XR
+ v4so5Zmmcof+9apAoaXDtj7HijhJWJcia8GWN5ycuDX38qMcpSU9/PF84s567W6e
+ De8xFEGqLG8vclcTv7gGjDJH5FJTXuwLg41wc8p4ONXEBgLiaC7+S/DVDXWpYxuB
+ akI17ua4eRKTFNvBtzP1802SP1k=
-----END CERTIFICATE-----
-date: 2015-07-04 00:00:00.000000000 Z
+date: 2016-05-18 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: bundler
@@ -79,6 +79,7 @@
- lib/multi_json/adapters/yajl.rb
- lib/multi_json/convertible_hash_keys.rb
- lib/multi_json/options.rb
+- lib/multi_json/options_cache.rb
- lib/multi_json/parse_error.rb
- lib/multi_json/vendor/okjson.rb
- lib/multi_json/version.rb
@@ -103,7 +104,7 @@
version: 1.3.5
requirements: []
rubyforge_project:
-rubygems_version: 2.4.8
+rubygems_version: 2.6.4
signing_key:
specification_version: 4
summary: A common interface to multiple JSON libraries.
Files old/metadata.gz.sig and new/metadata.gz.sig differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/multi_json.gemspec new/multi_json.gemspec
--- old/multi_json.gemspec 2015-07-04 09:27:20.000000000 +0200
+++ new/multi_json.gemspec 2016-05-19 01:05:06.000000000 +0200
@@ -1,20 +1,20 @@
# coding: utf-8
-require File.expand_path("../lib/multi_json/version.rb", __FILE__)
+require File.expand_path('../lib/multi_json/version.rb', __FILE__)
Gem::Specification.new do |spec|
- spec.authors = ["Michael Bleigh", "Josh Kalderimis", "Erik
Michaels-Ober", "Pavel Pravosud"]
- spec.cert_chain = %w[certs/rwz.pem]
- spec.summary = "A common interface to multiple JSON libraries."
- 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."
- spec.email = %w[[email protected] [email protected]
[email protected] [email protected]]
- spec.files = Dir["CHANGELOG.md", "CONTRIBUTING.md", "LICENSE.md",
"README.md", "multi_json.gemspec", "lib/**/*"]
- spec.homepage = "http://github.com/intridea/multi_json"
- spec.license = "MIT"
- spec.name = "multi_json"
- spec.require_path = "lib"
- spec.signing_key = File.expand_path("~/.gem/private_key.pem") if $0 =~
/gem\z/
+ spec.authors = ['Michael Bleigh', 'Josh Kalderimis', 'Erik
Michaels-Ober', 'Pavel Pravosud']
+ spec.cert_chain = %w(certs/rwz.pem)
+ spec.summary = 'A common interface to multiple JSON libraries.'
+ 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.'
+ spec.email = %w([email protected] [email protected]
[email protected] [email protected])
+ spec.files = Dir['CHANGELOG.md', 'CONTRIBUTING.md', 'LICENSE.md',
'README.md', 'multi_json.gemspec', 'lib/**/*']
+ spec.homepage = 'http://github.com/intridea/multi_json'
+ spec.license = 'MIT'
+ spec.name = 'multi_json'
+ spec.require_path = 'lib'
+ spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem') if
$PROGRAM_NAME =~ /gem\z/
spec.version = MultiJson::Version
- spec.required_rubygems_version = ">= 1.3.5"
- spec.add_development_dependency "bundler", "~> 1.0"
+ spec.required_rubygems_version = '>= 1.3.5'
+ spec.add_development_dependency 'bundler', '~> 1.0'
end