Sha256: 7de06f8deb49c94b4a56ec70f9265242ce2f99692468fe5e6164587d6cce7c8c

Contents?: true

Size: 1.13 KB

Versions: 33

Compression:

Stored size: 1.13 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 class_loader  = rb_define_class_under(psych, "ClassLoader", rb_cObject);

    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(class_loader, "path2class", path2class, 1);
}
/* vim: set noet sws=4 sw=4: */

Version data entries

33 entries across 33 versions & 2 rubygems

Version Path
psych-2.2.0-java ext/psych/psych_to_ruby.c
psych-2.2.0 ext/psych/psych_to_ruby.c
psych-2.1.1-java ext/psych/psych_to_ruby.c
psych-2.1.1 ext/psych/psych_to_ruby.c
psych-2.1.0-java ext/psych/psych_to_ruby.c
psych-2.1.0 ext/psych/psych_to_ruby.c
psych-2.0.17-java ext/psych/psych_to_ruby.c
psych-2.0.17 ext/psych/psych_to_ruby.c
psych-2.0.16-java ext/psych/psych_to_ruby.c
psych-2.0.16 ext/psych/psych_to_ruby.c
psych-2.0.15-java ext/psych/psych_to_ruby.c
psych-2.0.15 ext/psych/psych_to_ruby.c
psych-2.0.14-java ext/psych/psych_to_ruby.c
psych-2.0.14 ext/psych/psych_to_ruby.c
psych-shopifork-2.0.13 ext/psych/psych_to_ruby.c
psych-2.0.14.pre1-java ext/psych/psych_to_ruby.c
psych-2.0.13 ext/psych/psych_to_ruby.c
psych-2.0.12 ext/psych/psych_to_ruby.c
psych-2.0.11 ext/psych/psych_to_ruby.c
psych-2.0.10 ext/psych/psych_to_ruby.c