Ruby 2.7.7p221 (2022-11-24 revision 168ec2b1e5ad0e4688e963d9de019557c78feed9)
psych_to_ruby.c
Go to the documentation of this file.
1#include <psych.h>
2
4
5/* call-seq: vis.build_exception(klass, message)
6 *
7 * Create an exception with class +klass+ and +message+
8 */
9static VALUE build_exception(VALUE self, VALUE klass, VALUE mesg)
10{
12
13 rb_iv_set(e, "mesg", mesg);
14
15 return e;
16}
17
18/* call-seq: vis.path2class(path)
19 *
20 * Convert +path+ string to a class
21 */
22static VALUE path2class(VALUE self, VALUE path)
23{
24 return rb_path_to_class(path);
25}
26
28{
29 VALUE psych = rb_define_module("Psych");
30 VALUE class_loader = rb_define_class_under(psych, "ClassLoader", rb_cObject);
31
32 VALUE visitors = rb_define_module_under(psych, "Visitors");
33 VALUE visitor = rb_define_class_under(visitors, "Visitor", rb_cObject);
34 cPsychVisitorsToRuby = rb_define_class_under(visitors, "ToRuby", visitor);
35
36 rb_define_private_method(cPsychVisitorsToRuby, "build_exception", build_exception, 2);
37 rb_define_private_method(class_loader, "path2class", path2class, 1);
38}
39/* vim: set noet sws=4 sw=4: */
VALUE rb_define_class_under(VALUE, const char *, VALUE)
Defines a class under the namespace of outer.
Definition: class.c:711
VALUE rb_define_module(const char *)
Definition: class.c:785
VALUE rb_define_module_under(VALUE, const char *)
Definition: class.c:810
VALUE rb_cObject
Object class.
Definition: ruby.h:2012
VALUE rb_obj_alloc(VALUE)
Allocates an instance of klass.
Definition: object.c:1895
VALUE cPsychVisitorsToRuby
Definition: psych_to_ruby.c:3
void Init_psych_to_ruby(void)
Definition: psych_to_ruby.c:27
void rb_define_private_method(VALUE, const char *, VALUE(*)(), int)
unsigned long VALUE
VALUE rb_path_to_class(VALUE)
Definition: variable.c:226
VALUE rb_iv_set(VALUE, const char *, VALUE)
Definition: variable.c:3318