summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/psych/lib/psych.rb18
-rw-r--r--ext/psych/lib/psych/versions.rb6
-rw-r--r--ext/psych/psych.gemspec5
-rw-r--r--test/psych/test_exception.rb6
-rw-r--r--test/psych/test_psych.rb6
-rw-r--r--test/psych/test_safe_load.rb8
-rw-r--r--test/psych/test_yaml_special_cases.rb18
7 files changed, 51 insertions, 16 deletions
diff --git a/ext/psych/lib/psych.rb b/ext/psych/lib/psych.rb
index 6830a2f646..6ca5724d2d 100644
--- a/ext/psych/lib/psych.rb
+++ b/ext/psych/lib/psych.rb
@@ -3,7 +3,12 @@ require 'psych/versions'
case RUBY_ENGINE
when 'jruby'
require 'psych_jars'
- org.jruby.ext.psych.PsychLibrary.new.load(JRuby.runtime, false)
+ if JRuby::Util.respond_to?(:load_ext)
+ JRuby::Util.load_ext('org.jruby.ext.psych.PsychLibrary')
+ else
+ require 'java'; require 'jruby'
+ org.jruby.ext.psych.PsychLibrary.new.load(JRuby.runtime, false)
+ end
else
begin
require "#{RUBY_VERSION[/\d+\.\d+/]}/psych.so"
@@ -31,7 +36,7 @@ require 'psych/class_loader'
# = Overview
#
# Psych is a YAML parser and emitter.
-# Psych leverages libyaml [Home page: http://pyyaml.org/wiki/LibYAML]
+# Psych leverages libyaml [Home page: https://pyyaml.org/wiki/LibYAML]
# or [HG repo: https://bitbucket.org/xi/libyaml] for its YAML parsing
# and emitting capabilities. In addition to wrapping libyaml, Psych also
# knows how to serialize and de-serialize most Ruby objects to and from
@@ -265,6 +270,7 @@ module Psych
#
def self.load yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: false, symbolize_names: false
if legacy_filename != NOT_GIVEN
+ warn 'warning: Passing filename with the 2nd argument of Psych.load is deprecated. Use keyword argument like Psych.load(yaml, filename: ...) instead.'
filename = legacy_filename
end
@@ -321,18 +327,22 @@ module Psych
#
def self.safe_load yaml, legacy_whitelist_classes = NOT_GIVEN, legacy_whitelist_symbols = NOT_GIVEN, legacy_aliases = NOT_GIVEN, legacy_filename = NOT_GIVEN, whitelist_classes: [], whitelist_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false
if legacy_whitelist_classes != NOT_GIVEN
+ warn 'warning: Passing whitelist_classes with the 2nd argument of Psych.safe_load is deprecated. Use keyword argument like Psych.safe_load(yaml, whitelist_classes: ...) instead.'
whitelist_classes = legacy_whitelist_classes
end
if legacy_whitelist_symbols != NOT_GIVEN
+ warn 'warning: Passing whitelist_symbols with the 3rd argument of Psych.safe_load is deprecated. Use keyword argument like Psych.safe_load(yaml, whitelist_symbols: ...) instead.'
whitelist_symbols = legacy_whitelist_symbols
end
if legacy_aliases != NOT_GIVEN
+ warn 'warning: Passing aliases with the 4th argument of Psych.safe_load is deprecated. Use keyword argument like Psych.safe_load(yaml, aliases: ...) instead.'
aliases = legacy_aliases
end
if legacy_filename != NOT_GIVEN
+ warn 'warning: Passing filename with the 5th argument of Psych.safe_load is deprecated. Use keyword argument like Psych.safe_load(yaml, filename: ...) instead.'
filename = legacy_filename
end
@@ -373,6 +383,7 @@ module Psych
# See Psych::Nodes for more information about YAML AST.
def self.parse yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: NOT_GIVEN
if legacy_filename != NOT_GIVEN
+ warn 'warning: Passing filename with the 2nd argument of Psych.parse is deprecated. Use keyword argument like Psych.parse(yaml, filename: ...) instead.'
filename = legacy_filename
end
@@ -381,6 +392,7 @@ module Psych
end
if fallback != NOT_GIVEN
+ warn 'warning: Passing the `fallback` keyword argument of Psych.parse is deprecated.'
fallback
else
false
@@ -435,6 +447,7 @@ module Psych
# See Psych::Nodes for more information about YAML AST.
def self.parse_stream yaml, legacy_filename = NOT_GIVEN, filename: nil, &block
if legacy_filename != NOT_GIVEN
+ warn 'warning: Passing filename with the 2nd argument of Psych.parse_stream is deprecated. Use keyword argument like Psych.parse_stream(yaml, filename: ...) instead.'
filename = legacy_filename
end
@@ -540,6 +553,7 @@ module Psych
#
def self.load_stream yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: []
if legacy_filename != NOT_GIVEN
+ warn 'warning: Passing filename with the 2nd argument of Psych.load_stream is deprecated. Use keyword argument like Psych.load_stream(yaml, filename: ...) instead.'
filename = legacy_filename
end
diff --git a/ext/psych/lib/psych/versions.rb b/ext/psych/lib/psych/versions.rb
index f55cc63906..226368fca2 100644
--- a/ext/psych/lib/psych/versions.rb
+++ b/ext/psych/lib/psych/versions.rb
@@ -1,9 +1,9 @@
# frozen_string_literal: true
module Psych
- # The version is Psych you're using
- VERSION = '3.1.0.pre1' unless defined?(::Psych::VERSION)
+ # The version of Psych you are using
+ VERSION = '3.1.0.pre2' unless defined?(::Psych::VERSION)
if RUBY_ENGINE == 'jruby'
- DEFAULT_SNAKEYAML_VERSION = '1.21'.freeze
+ DEFAULT_SNAKEYAML_VERSION = '1.23'.freeze
end
end
diff --git a/ext/psych/psych.gemspec b/ext/psych/psych.gemspec
index d4a3db4a58..cc086d9d36 100644
--- a/ext/psych/psych.gemspec
+++ b/ext/psych/psych.gemspec
@@ -4,6 +4,7 @@
begin
require_relative 'lib/psych/versions'
rescue LoadError
+ # for Ruby core repository
require_relative 'versions'
end
@@ -14,7 +15,7 @@ Gem::Specification.new do |s|
s.email = ["aaron@tenderlovemaking.com", "hsbt@ruby-lang.org", "headius@headius.com"]
s.summary = "Psych is a YAML parser and emitter"
s.description = <<-DESCRIPTION
-Psych is a YAML parser and emitter. Psych leverages libyaml[http://pyyaml.org/wiki/LibYAML]
+Psych is a YAML parser and emitter. Psych leverages libyaml[https://pyyaml.org/wiki/LibYAML]
for its YAML parsing and emitting capabilities. In addition to wrapping libyaml,
Psych also knows how to serialize and de-serialize most Ruby objects to and from the YAML format.
DESCRIPTION
@@ -64,6 +65,6 @@ DESCRIPTION
s.add_development_dependency 'ruby-maven'
else
s.extensions = ["ext/psych/extconf.rb"]
- s.add_development_dependency 'rake-compiler-dock', ">= 0.6.1"
+ s.add_development_dependency 'rake-compiler-dock', ">= 0.6.3"
end
end
diff --git a/test/psych/test_exception.rb b/test/psych/test_exception.rb
index 3c72f4a97a..df7fd73740 100644
--- a/test/psych/test_exception.rb
+++ b/test/psych/test_exception.rb
@@ -15,6 +15,12 @@ module Psych
def setup
super
@wups = Wups.new
+
+ @orig_verbose, $VERBOSE = $VERBOSE, nil
+ end
+
+ def teardown
+ $VERBOSE = @orig_verbose
end
def test_naming_exception
diff --git a/test/psych/test_psych.rb b/test/psych/test_psych.rb
index 3a04a3fe70..eeadc864ef 100644
--- a/test/psych/test_psych.rb
+++ b/test/psych/test_psych.rb
@@ -5,8 +5,14 @@ require 'stringio'
require 'tempfile'
class TestPsych < Psych::TestCase
+
+ def setup
+ @orig_verbose, $VERBOSE = $VERBOSE, nil
+ end
+
def teardown
Psych.domain_types.clear
+ $VERBOSE = @orig_verbose
end
def test_line_width_invalid
diff --git a/test/psych/test_safe_load.rb b/test/psych/test_safe_load.rb
index 82a5f19c36..6c7a8d0f5a 100644
--- a/test/psych/test_safe_load.rb
+++ b/test/psych/test_safe_load.rb
@@ -3,6 +3,14 @@ require 'psych/helper'
module Psych
class TestSafeLoad < TestCase
+ def setup
+ @orig_verbose, $VERBOSE = $VERBOSE, nil
+ end
+
+ def teardown
+ $VERBOSE = @orig_verbose
+ end
+
class Foo; end
[1, 2.2, {}, [], "foo"].each do |obj|
diff --git a/test/psych/test_yaml_special_cases.rb b/test/psych/test_yaml_special_cases.rb
index 66448d4efa..4501704030 100644
--- a/test/psych/test_yaml_special_cases.rb
+++ b/test/psych/test_yaml_special_cases.rb
@@ -17,7 +17,7 @@ module Psych
assert_equal [], Psych.load_stream(s)
assert_equal false, Psych.parse(s)
assert_equal [], Psych.parse_stream(s).transform
- assert_equal nil, Psych.safe_load(s)
+ assert_nil Psych.safe_load(s)
end
def test_false
@@ -49,11 +49,11 @@ module Psych
def test_inf
s = "-.inf"
- assert_equal -Float::INFINITY, Psych.load(s)
- assert_equal [-Float::INFINITY], Psych.load_stream(s)
- assert_equal -Float::INFINITY, Psych.parse(s).transform
- assert_equal [-Float::INFINITY], Psych.parse_stream(s).transform
- assert_equal -Float::INFINITY, Psych.safe_load(s)
+ assert_equal(-Float::INFINITY, Psych.load(s))
+ assert_equal([-Float::INFINITY], Psych.load_stream(s))
+ assert_equal(-Float::INFINITY, Psych.parse(s).transform)
+ assert_equal([-Float::INFINITY], Psych.parse_stream(s).transform)
+ assert_equal(-Float::INFINITY, Psych.safe_load(s))
end
def test_NaN
@@ -112,11 +112,11 @@ module Psych
def test_null
s = "null"
- assert_equal nil, Psych.load(s)
+ assert_nil Psych.load(s)
assert_equal [nil], Psych.load_stream(s)
- assert_equal nil, Psych.parse(s).transform
+ assert_nil Psych.parse(s).transform
assert_equal [nil], Psych.parse_stream(s).transform
- assert_equal nil, Psych.safe_load(s)
+ assert_nil Psych.safe_load(s)
end
private