aboutsummaryrefslogtreecommitdiffstats
path: root/lib/yaml.rb
diff options
context:
space:
mode:
authorwhy <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-05-06 06:29:56 +0000
committerwhy <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-05-06 06:29:56 +0000
commit2fa9a0b08c7d2c672d2ae2ac8b76a66cfc1c5082 (patch)
tree0f783680b6f2a9d2cd9848b98bfd0bce55d81993 /lib/yaml.rb
parentf77db2ed9ca3f9c404594787b456b1cabee351c7 (diff)
downloadruby-2fa9a0b08c7d2c672d2ae2ac8b76a66cfc1c5082.tar.gz
* lib/yaml/rubytypes.rb (to_yaml): added instance variable handling
for Ranges, Strings, Structs, Regexps. * lib/yaml/rubytypes.rb (to_yaml_fold): new method for setting a String's flow style. * lib/yaml.rb (YAML::object_maker): now uses Object.allocate. * ext/syck/gram.c: fixed transfer methods on structs, broke it last commit. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/yaml.rb')
-rw-r--r--lib/yaml.rb14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/yaml.rb b/lib/yaml.rb
index 644538c579..baa599d3c5 100644
--- a/lib/yaml.rb
+++ b/lib/yaml.rb
@@ -162,13 +162,13 @@ module YAML
#
def YAML.object_maker( obj_class, val, is_attr = false )
if Hash === val
- name = obj_class.name
- ostr = sprintf( "%c%co:%c%s\000", Marshal::MAJOR_VERSION, Marshal::MINOR_VERSION,
- name.length + 5, name )
- if is_attr
- ostr[ -1, 1 ] = Marshal.dump( val ).sub( /^[^{]+\{/, '' )
- end
- o = ::Marshal.load( ostr )
+ # name = obj_class.name
+ # ostr = sprintf( "%c%co:%c%s\000", ::Marshal::MAJOR_VERSION, ::Marshal::MINOR_VERSION,
+ # name.length + 5, name )
+ # if is_attr
+ # ostr[ -1, 1 ] = ::Marshal.dump( val ).sub( /^[^{]+\{/, '' )
+ # end
+ o = obj_class.allocate
unless is_attr
val.each_pair { |k,v|
o.instance_variable_set("@#{k}", v)