diff options
author | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-02-04 17:11:00 +0000 |
---|---|---|
committer | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-02-04 17:11:00 +0000 |
commit | 510cde74a6c5c810fb96980ac0d1a9d806d562c3 (patch) | |
tree | c096f197f8445e9f3e24af60978533e2a2c3bc9c | |
parent | f6b75e30d8b7f1adfefc506fcb23768c2276fa32 (diff) | |
download | bundler-510cde74a6c5c810fb96980ac0d1a9d806d562c3.tar.gz |
* lib/yaml/rubytypes.rb: Struct members are emitted without a leading
colon. Thanks Yusuke Endoh! [ruby-core:28052]
* test/yaml/test_struct.rb: fixed tests to go with Struct changes
* test/yaml/test_yaml.rb: fixed tests to go with Struct changes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | lib/yaml/rubytypes.rb | 4 | ||||
-rw-r--r-- | test/yaml/test_struct.rb | 4 | ||||
-rw-r--r-- | test/yaml/test_yaml.rb | 26 |
4 files changed, 26 insertions, 17 deletions
@@ -1,3 +1,12 @@ +Fri Feb 5 02:06:57 2010 Aaron Patterson <tenderlove@ruby-lang.org> + + * lib/yaml/rubytypes.rb: Struct members are emitted without a leading + colon. Thanks Yusuke Endoh! [ruby-core:28052] + + * test/yaml/test_struct.rb: fixed tests to go with Struct changes + + * test/yaml/test_yaml.rb: fixed tests to go with Struct changes + Fri Feb 5 00:34:24 2010 Yusuke Endoh <mame@tsg.ne.jp> * bignum.c (big_gt, big_ge, big_lt, big_ge): added Bignum#>, >=, < and diff --git a/lib/yaml/rubytypes.rb b/lib/yaml/rubytypes.rb index e8c0c89f2c..71f911a738 100644 --- a/lib/yaml/rubytypes.rb +++ b/lib/yaml/rubytypes.rb @@ -72,7 +72,7 @@ class Struct # st = YAML::object_maker( struct_type, {} ) st.members.each do |m| - st.send( "#{m}=", val[m] ) + st.send( "#{m}=", val[m.to_s] ) end props.each do |k,v| st.instance_variable_set(k, v) @@ -89,7 +89,7 @@ class Struct # out.map( taguri, to_yaml_style ) do |map| self.members.each do |m| - map.add( m, self[m] ) + map.add( m.to_s, self[m.to_s] ) end self.to_yaml_properties.each do |m| map.add( m, instance_variable_get( m ) ) diff --git a/test/yaml/test_struct.rb b/test/yaml/test_struct.rb index c14218e933..b5f944c788 100644 --- a/test/yaml/test_struct.rb +++ b/test/yaml/test_struct.rb @@ -22,8 +22,8 @@ module YAML def test_load obj = YAML.load(<<-eoyml) --- !ruby/struct:StructWithIvar -:foo: bar -:@bar: hello +foo: bar +@bar: hello eoyml assert_equal 'hello', obj.bar diff --git a/test/yaml/test_yaml.rb b/test/yaml/test_yaml.rb index 8c7aef3dcd..7274b602af 100644 --- a/test/yaml/test_yaml.rb +++ b/test/yaml/test_yaml.rb @@ -1082,27 +1082,27 @@ EOY book_struct.new( "This should be the ISBN", "but I have another struct here", 2002, "None" ) ) ], <<EOY - !ruby/struct:BookStruct - :author: Yukihiro Matsumoto - :title: Ruby in a Nutshell - :year: 2002 - :isbn: 0-596-00214-9 + author: Yukihiro Matsumoto + title: Ruby in a Nutshell + year: 2002 + isbn: 0-596-00214-9 - !ruby/struct:BookStruct - :author: + author: - Dave Thomas - Andy Hunt - :title: The Pickaxe - :year: 2002 - :isbn: !ruby/struct:BookStruct - :author: This should be the ISBN - :title: but I have another struct here - :year: 2002 - :isbn: None + title: The Pickaxe + year: 2002 + isbn: !ruby/struct:BookStruct + author: This should be the ISBN + title: but I have another struct here + year: 2002 + isbn: None EOY ) assert_to_yaml( YAML_Tests::StructTest.new( 123 ), <<EOY ) --- !ruby/struct:YAML_Tests::StructTest -:c: 123 +c: 123 EOY end |