1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/psych/lib/psych/visitors/to_ruby.rb: anonymous structs

should be able to roundtrip.  Thanks @splattael!

* test/psych/test_object_references.rb: test for change

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
tenderlove 2014-01-09 00:54:37 +00:00
parent 5c0d17c9a2
commit 7c6e4f8f38
3 changed files with 14 additions and 1 deletions

View file

@ -1,3 +1,10 @@
Thu Jan 9 09:51:00 2014 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/visitors/to_ruby.rb: anonymous structs
should be able to roundtrip. Thanks @splattael!
* test/psych/test_object_references.rb: test for change
Wed Jan 8 22:53:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_insnhelper.c (vm_search_super_method): when super called in a

View file

@ -181,9 +181,11 @@ module Psych
klass = class_loader.struct
members = o.children.map { |c| accept c }
h = Hash[*members]
klass.new(*h.map { |k,v|
s = klass.new(*h.map { |k,v|
class_loader.symbolize k
}).new(*h.map { |k,v| v })
register(o, s)
s
end
when /^!ruby\/object:?(.*)?$/

View file

@ -26,6 +26,10 @@ module Psych
assert_reference_trip DateTime.now
end
def test_struct_has_references
assert_reference_trip Struct.new(:foo).new(1)
end
def assert_reference_trip obj
yml = Psych.dump([obj, obj])
assert_match(/\*-?\d+/, yml)