diff options
author | Alexander Momchilov <alexander.momchilov@shopify.com> | 2022-07-21 15:07:39 -0400 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2022-08-09 01:32:47 +0900 |
commit | 54219ae8c46bc431782caf01142883ce7e8b970b (patch) | |
tree | 8f0cecd389935d48f3214d0ded8fb46951015562 /ext/psych/lib/psych | |
parent | 71f89c287459d5ca313d0b1a16b7a743e0d71b8b (diff) |
[ruby/psych] Raise specific error when aliases are not enabled
https://github.com/ruby/psych/commit/0c11ddcf46
Diffstat (limited to 'ext/psych/lib/psych')
-rw-r--r-- | ext/psych/lib/psych/exception.rb | 7 | ||||
-rw-r--r-- | ext/psych/lib/psych/visitors/to_ruby.rb | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/ext/psych/lib/psych/exception.rb b/ext/psych/lib/psych/exception.rb index f473b95a3b..04a9a906a4 100644 --- a/ext/psych/lib/psych/exception.rb +++ b/ext/psych/lib/psych/exception.rb @@ -6,6 +6,13 @@ module Psych class BadAlias < Exception end + # Subclasses `BadAlias` for backwards compatibility + class AliasesNotEnabled < BadAlias + def initialize + super "Alias parsing was not enabled. To enable it, pass `aliases: true` to `Psych::load` or `Psych::safe_load`." + end + end + class DisallowedClass < Exception def initialize action, klass_name super "Tried to #{action} unspecified class: #{klass_name}" diff --git a/ext/psych/lib/psych/visitors/to_ruby.rb b/ext/psych/lib/psych/visitors/to_ruby.rb index 935bc74f21..0bf5198ccc 100644 --- a/ext/psych/lib/psych/visitors/to_ruby.rb +++ b/ext/psych/lib/psych/visitors/to_ruby.rb @@ -427,7 +427,7 @@ module Psych class NoAliasRuby < ToRuby def visit_Psych_Nodes_Alias o - raise BadAlias, "Unknown alias: #{o.anchor}" + raise AliasesNotEnabled end end end |