summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2017-11-30 21:57:20 +0900
committerTakashi Kokubun <takashikkbn@gmail.com>2017-11-30 21:57:21 +0900
commit3af6648ff5f0f2fe0bcec9d35b2eea942776cbbf (patch)
tree422d58945882c39e3867449e8090e8af0272786c /lib
parent36e65399738dfb6b492c34bd3492789f1da002db (diff)
downloadpsych-3af6648ff5f0f2fe0bcec9d35b2eea942776cbbf.zip
Add :symbolize_names option to .safe_load too
related to #333
Diffstat (limited to 'lib')
-rw-r--r--lib/psych.rb6
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
###