Sha256: c3e07ce482cad3ac8db8a41e63ed643b546ce4d7cfd14faf9b7d0465a4d1f3f6

Contents?: true

Size: 1.05 KB

Versions: 12

Compression:

Stored size: 1.05 KB

Contents

#include <psych.h>

VALUE cPsychVisitorsToRuby;

/* call-seq: vis.build_exception(klass, message)
 *
 * Create an exception with class +klass+ and +message+
 */
static VALUE build_exception(VALUE self, VALUE klass, VALUE mesg)
{
    VALUE e = rb_obj_alloc(klass);

    rb_iv_set(e, "mesg", mesg);

    return e;
}

/* call-seq: vis.path2class(path)
 *
 * Convert +path+ string to a class
 */
static VALUE path2class(VALUE self, VALUE path)
{
#ifdef HAVE_RUBY_ENCODING_H
    return rb_path_to_class(path);
#else
    return rb_path2class(StringValuePtr(path));
#endif
}

void Init_psych_to_ruby(void)
{
    VALUE psych     = rb_define_module("Psych");
    VALUE visitors  = rb_define_module_under(psych, "Visitors");
    VALUE visitor   = rb_define_class_under(visitors, "Visitor", rb_cObject);
    cPsychVisitorsToRuby = rb_define_class_under(visitors, "ToRuby", visitor);

    rb_define_private_method(cPsychVisitorsToRuby, "build_exception", build_exception, 2);
    rb_define_private_method(cPsychVisitorsToRuby, "path2class", path2class, 1);
}
/* vim: set noet sws=4 sw=4: */

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
psych-1.3.4 ext/psych/to_ruby.c
psych-1.3.3 ext/psych/to_ruby.c
psych-1.3.2 ext/psych/to_ruby.c
psych-1.3.1 ext/psych/to_ruby.c
psych-1.3.0 ext/psych/to_ruby.c
psych-1.2.2 ext/psych/to_ruby.c
psych-1.2.2.rc1 ext/psych/to_ruby.c
psych-1.2.1 ext/psych/to_ruby.c
psych-1.2.0 ext/psych/to_ruby.c
psych-1.1.1 ext/psych/to_ruby.c
psych-1.1.0 ext/psych/to_ruby.c
km-psych-0.1.0 ext/psych/to_ruby.c