diff options
Diffstat (limited to 'ext/psych/lib/psych.rb')
-rw-r--r-- | ext/psych/lib/psych.rb | 18 |
1 files changed, 16 insertions, 2 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 |