| In: |
YAML::Syck::Emitter.initialize( options )
/*
* YAML::Syck::Emitter.initialize( options )
*/
static VALUE
syck_emitter_initialize( self, options )
VALUE self, options;
{
rb_iv_set(self, "@options", options);
return self;
}
YAML::Syck::Emitter.new
/*
* YAML::Syck::Emitter.new
*/
VALUE
syck_emitter_new(argc, argv, class)
int argc;
VALUE *argv;
VALUE class;
{
VALUE pobj, options, init_argv[1];
SyckEmitter *emitter = syck_new_emitter();
syck_emitter_ignore_id( emitter, Qnil );
syck_emitter_handler( emitter, rb_syck_output_handler );
emitter->bonus = (void *)rb_str_new2( "" );
rb_scan_args(argc, argv, "01", &options);
pobj = Data_Wrap_Struct( class, syck_mark_emitter, syck_free_emitter, emitter );
if ( ! rb_obj_is_instance_of( options, rb_cHash ) )
{
options = rb_hash_new();
}
init_argv[0] = options;
rb_obj_call_init(pobj, 1, init_argv);
return pobj;
}
YAML::Syck::Emitter.write( str )
/*
* YAML::Syck::Emitter.write( str )
*/
VALUE
syck_emitter_write_m( self, str )
VALUE self, str;
{
SyckEmitter *emitter;
Data_Get_Struct(self, SyckEmitter, emitter);
syck_emitter_write( emitter, RSTRING(str)->ptr, RSTRING(str)->len );
return self;
}
YAML::Syck::Emitter.end_object
/*
* YAML::Syck::Emitter.end_object
*/
VALUE
syck_emitter_end_object( self )
VALUE self;
{
SyckEmitter *emitter;
Data_Get_Struct(self, SyckEmitter, emitter);
syck_emitter_end_obj( emitter );
if ( emitter->level < 0 )
{
syck_emitter_flush( emitter, 0 );
}
return (VALUE)emitter->bonus;
}
YAML::Syck::Emitter.flush
/*
* YAML::Syck::Emitter.flush
*/
VALUE
syck_emitter_flush_m( self )
VALUE self;
{
SyckEmitter *emitter;
Data_Get_Struct(self, SyckEmitter, emitter);
syck_emitter_flush( emitter, 0 );
return self;
}
YAML::Syck::Emitter.level
/*
* YAML::Syck::Emitter.level
*/
VALUE
syck_emitter_level_m( self )
VALUE self;
{
SyckEmitter *emitter;
Data_Get_Struct(self, SyckEmitter, emitter);
return LONG2NUM( emitter->level );
}
YAML::Syck::Emitter.simple( str )
/*
* YAML::Syck::Emitter.simple( str )
*/
VALUE
syck_emitter_simple_write( self, str )
VALUE self, str;
{
SyckEmitter *emitter;
Data_Get_Struct(self, SyckEmitter, emitter);
syck_emitter_simple( emitter, RSTRING(str)->ptr, RSTRING(str)->len );
return self;
}
YAML::Syck::Emitter.start_object( object_id )
/*
* YAML::Syck::Emitter.start_object( object_id )
*/
VALUE
syck_emitter_start_object( self, oid )
VALUE self, oid;
{
char *anchor_name;
SyckEmitter *emitter;
Data_Get_Struct(self, SyckEmitter, emitter);
anchor_name = syck_emitter_start_obj( emitter, oid );
if ( anchor_name == NULL )
{
return Qnil;
}
return rb_str_new2( anchor_name );
}