@@ -269,10 +269,10 @@ module Psych
269269 # YAML documents that are supplied via user input. Instead, please use the
270270 # load method or the safe_load method.
271271 #
272- def self . unsafe_load yaml , filename : nil , fallback : false , symbolize_names : false , freeze : false , strict_integer : false
272+ def self . unsafe_load yaml , filename : nil , fallback : false , symbolize_names : false , freeze : false , strict_integer : false , parse_symbols : true
273273 result = parse ( yaml , filename : filename )
274274 return fallback unless result
275- result . to_ruby ( symbolize_names : symbolize_names , freeze : freeze , strict_integer : strict_integer )
275+ result . to_ruby ( symbolize_names : symbolize_names , freeze : freeze , strict_integer : strict_integer , parse_symbols : parse_symbols )
276276 end
277277
278278 ###
@@ -320,13 +320,13 @@ def self.unsafe_load yaml, filename: nil, fallback: false, symbolize_names: fals
320320 # Psych.safe_load("---\n foo: bar") # => {"foo"=>"bar"}
321321 # Psych.safe_load("---\n foo: bar", symbolize_names: true) # => {:foo=>"bar"}
322322 #
323- def self . safe_load yaml , permitted_classes : [ ] , permitted_symbols : [ ] , aliases : false , filename : nil , fallback : nil , symbolize_names : false , freeze : false , strict_integer : false
323+ def self . safe_load yaml , permitted_classes : [ ] , permitted_symbols : [ ] , aliases : false , filename : nil , fallback : nil , symbolize_names : false , freeze : false , strict_integer : false , parse_symbols : true
324324 result = parse ( yaml , filename : filename )
325325 return fallback unless result
326326
327327 class_loader = ClassLoader ::Restricted . new ( permitted_classes . map ( &:to_s ) ,
328328 permitted_symbols . map ( &:to_s ) )
329- scanner = ScalarScanner . new class_loader , strict_integer : strict_integer
329+ scanner = ScalarScanner . new class_loader , strict_integer : strict_integer , parse_symbols : parse_symbols
330330 visitor = if aliases
331331 Visitors ::ToRuby . new scanner , class_loader , symbolize_names : symbolize_names , freeze : freeze
332332 else
@@ -366,15 +366,16 @@ def self.safe_load yaml, permitted_classes: [], permitted_symbols: [], aliases:
366366 # Raises a TypeError when `yaml` parameter is NilClass. This method is
367367 # similar to `safe_load` except that `Symbol` objects are allowed by default.
368368 #
369- def self . load yaml , permitted_classes : [ Symbol ] , permitted_symbols : [ ] , aliases : false , filename : nil , fallback : nil , symbolize_names : false , freeze : false , strict_integer : false
369+ def self . load yaml , permitted_classes : [ Symbol ] , permitted_symbols : [ ] , aliases : false , filename : nil , fallback : nil , symbolize_names : false , freeze : false , strict_integer : false , parse_symbols : true
370370 safe_load yaml , permitted_classes : permitted_classes ,
371371 permitted_symbols : permitted_symbols ,
372372 aliases : aliases ,
373373 filename : filename ,
374374 fallback : fallback ,
375375 symbolize_names : symbolize_names ,
376376 freeze : freeze ,
377- strict_integer : strict_integer
377+ strict_integer : strict_integer ,
378+ parse_symbols : parse_symbols
378379 end
379380
380381 ###
0 commit comments