Project

General

Profile

Backport #1331

Updated by jeremyevans0 (Jeremy Evans) almost 5 years ago

=begin 
  
  YAML misformats the dump of hashes where the key is a user-defined ruby object.    For instance: 
 
    class A; end 
    YAML.dump({A.new => :a}) 
 
  Produces: 
  
    ---  
    !ruby/object:A ? {} 
    : :a 
 
  Which cannot be reloaded as YAML because the question mark is in the wrong place.    The correctly formatted YAML is: 
 
    ---  
    ? !ruby/object:A {} 
    : :a 
 
  I have attached a couple tests with a patch illustrating how to work around this problem using gsub.    Obviously a string substitution is not a long term solution, but I hope it illustrates what needs to be fixed. 
 
 =end 
 

Back