From ff2a47eb996b8bc03fc119b731689484c9eb3c78 Mon Sep 17 00:00:00 2001 From: why Date: Fri, 12 Dec 2003 18:08:58 +0000 Subject: [PATCH] * lib/yaml/rubytypes.rb: anonymous struct fix. [ruby-core:01946] * test/yaml/test_yaml.rb: add test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ lib/yaml/rubytypes.rb | 4 ++-- test/yaml/test_yaml.rb | 11 +++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5f88df10ea..37d63eb67c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat Dec 13 03:09:14 2003 why the lucky stiff + + * lib/yaml/rubytypes.rb: anonymous struct fix. [ruby-core:01946] + + * test/yaml/test_yaml.rb: add test. + Fri Dec 12 22:36:44 2003 NAKAMURA, Hiroshi * lib/csv.rb: add Cell#to_str and Cell#to_s for /.../ =~ aCell, diff --git a/lib/yaml/rubytypes.rb b/lib/yaml/rubytypes.rb index fed4370271..f718df9b9f 100644 --- a/lib/yaml/rubytypes.rb +++ b/lib/yaml/rubytypes.rb @@ -155,8 +155,8 @@ class Struct # # Basic struct is passed as a YAML map # - struct_name = self.class.name.gsub( "Struct:", "" ) - out.map( "!ruby/struct#{struct_name}" ) { |map| + struct_name = self.class.name.gsub( "Struct::", "" ) + out.map( "!ruby/struct:#{struct_name}" ) { |map| self.members.each { |m| map.add( m, self[m] ) } diff --git a/test/yaml/test_yaml.rb b/test/yaml/test_yaml.rb index cfb6407c29..35bb7c5f73 100644 --- a/test/yaml/test_yaml.rb +++ b/test/yaml/test_yaml.rb @@ -4,6 +4,11 @@ require 'test/unit' require 'yaml' +# [ruby-core:01946] +module YAML_Tests + StructTest = Struct::new( :c ) +end + class YAML_Unit_Tests < Test::Unit::TestCase # # Convert between YAML and the object to verify correct parsing and @@ -1058,6 +1063,12 @@ EOY isbn: None EOY ) + + assert_to_yaml( YAML_Tests::StructTest.new( 123 ), <