Module YAML::Syck
In: syck/rubyext.c

Methods

compile  

Classes and Modules

Class YAML::Syck::BadAlias
Class YAML::Syck::DefaultKey
Class YAML::Syck::Emitter
Class YAML::Syck::Map
Class YAML::Syck::MergeKey
Class YAML::Syck::Node
Class YAML::Syck::Out
Class YAML::Syck::Parser
Class YAML::Syck::Resolver
Class YAML::Syck::Scalar
Class YAML::Syck::Seq

Constants

VERSION = rb_str_new2( SYCK_VERSION )
DefaultResolver = oDefaultResolver
GenericResolver = oGenericResolver

Public Class methods

Convert YAML to bytecode

[Source]

/*
 * Convert YAML to bytecode
 */
VALUE
rb_syck_compile(self, port)
    VALUE self, port;
{
    SYMID oid;
    int taint;
    char *ret;
    VALUE bc;
    bytestring_t *sav; 

    SyckParser *parser = syck_new_parser();
    taint = syck_parser_assign_io(parser, &port);
    syck_parser_handler( parser, syck_yaml2byte_handler );
    syck_parser_error_handler( parser, NULL );
    syck_parser_implicit_typing( parser, 0 );
    syck_parser_taguri_expansion( parser, 0 );
    oid = syck_parse( parser );
    syck_lookup_sym( parser, oid, (char **)&sav );

    ret = S_ALLOCA_N( char, strlen( sav->buffer ) + 3 );
    ret[0] = '\0';
    strcat( ret, "D\n" );
    strcat( ret, sav->buffer );

    syck_free_parser( parser );

    bc = rb_str_new2( ret );
    if ( taint )      OBJ_TAINT( bc );
    return bc;
}

[Validate]

ruby-doc.org is hosted and run by James Britt and Happy Camper Studios, a Ruby application development company in Phoenix, Arizona. Ruby-doc.org was created in 2002 to promote the Ruby language and to help other Ruby hackers.

Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.

For more information on the Ruby programming language, visit ruby-lang.org.

Want to help improve Ruby's API docs? See Ruby Documentation Guidelines.