diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2017-11-30 21:57:20 +0900 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2017-11-30 21:57:21 +0900 |
commit | 3af6648ff5f0f2fe0bcec9d35b2eea942776cbbf (patch) | |
tree | 422d58945882c39e3867449e8090e8af0272786c /lib | |
parent | 36e65399738dfb6b492c34bd3492789f1da002db (diff) | |
download | psych-3af6648ff5f0f2fe0bcec9d35b2eea942776cbbf.zip |
Add :symbolize_names option to .safe_load too
related to #333
Diffstat (limited to 'lib')
-rw-r--r-- | lib/psych.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/psych.rb b/lib/psych.rb index aefc563..0f14fe4 100644 --- a/lib/psych.rb +++ b/lib/psych.rb @@ -300,7 +300,7 @@ module Psych # # A Psych::BadAlias exception will be raised if the yaml contains aliases # but the +aliases+ parameter is set to false. - def self.safe_load yaml, whitelist_classes = [], whitelist_symbols = [], aliases = false, filename = nil + def self.safe_load yaml, whitelist_classes = [], whitelist_symbols = [], aliases = false, filename = nil, symbolize_names: false result = parse(yaml, filename) return unless result @@ -312,7 +312,9 @@ module Psych else visitor = Visitors::NoAliasRuby.new scanner, class_loader end - visitor.accept result + result = visitor.accept result + symbolize_names!(result) if symbolize_names + result end ### |