diff options
Diffstat (limited to 'ext/psych/lib/psych/visitors')
-rw-r--r-- | ext/psych/lib/psych/visitors/to_ruby.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/psych/lib/psych/visitors/to_ruby.rb b/ext/psych/lib/psych/visitors/to_ruby.rb index 1bfffb952f..42b328a4bf 100644 --- a/ext/psych/lib/psych/visitors/to_ruby.rb +++ b/ext/psych/lib/psych/visitors/to_ruby.rb @@ -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:?(.*)?$/ |