Actions
Backport #1331
closedYAML misformats hash with ruby object as key
Status:
Closed
Assignee:
-
Description
=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
Files
Updated by Confusion (Ivo Wever) over 13 years ago
=begin
This bug still exists in ruby 1.8.7 (2011-02-18 patchlevel 334). Is there a known fix or workaround that I can use? The gsub suggested by Simon seems a bit brittle.
=end
Updated by jeremyevans0 (Jeremy Evans) over 5 years ago
- Tracker changed from Bug to Backport
- Project changed from Ruby 1.8 to Backport187
- Description updated (diff)
- Status changed from Open to Closed
- ruby -v deleted (
ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0])
Actions
Like0
Like0Like0