| In: |
YAML::Syck::Node.initialize
/*
* YAML::Syck::Node.initialize
*/
VALUE
syck_node_initialize( self, type_id, val )
VALUE self, type_id, val;
{
rb_iv_set( self, "@type_id", type_id );
rb_iv_set( self, "@value", val );
return self;
}
YAML::Syck::Node.transform
/*
* YAML::Syck::Node.transform
*/
VALUE
syck_node_transform( self )
VALUE self;
{
VALUE t = Qnil;
VALUE type_id = rb_iv_get( self, "@type_id" );
VALUE val = rb_iv_get( self, "@value" );
if ( rb_obj_is_instance_of( val, rb_cHash ) )
{
t = rb_hash_new();
rb_iterate( rb_each, val, syck_node_thash, t );
}
else if ( rb_obj_is_instance_of( val, rb_cArray ) )
{
t = rb_ary_new();
rb_iterate( rb_each, val, syck_node_ahash, t );
}
else
{
t = val;
}
return rb_funcall( oDefaultLoader, s_transfer, 2, type_id, t );
}