From 3af6648ff5f0f2fe0bcec9d35b2eea942776cbbf Mon Sep 17 00:00:00 2001 From: Takashi Kokubun Date: Thu, 30 Nov 2017 21:57:20 +0900 Subject: Add :symbolize_names option to .safe_load too related to #333 --- lib/psych.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib') 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 ### -- cgit v1.2.3