Ruby
1.9.3p448(2013-06-27revision41675)
Main Page
Modules
Data Structures
Files
File List
Globals
ext
psych
to_ruby.c
Go to the documentation of this file.
1
#include <
psych.h
>
2
3
VALUE
cPsychVisitorsToRuby
;
4
5
/* call-seq: vis.build_exception(klass, message)
6
*
7
* Create an exception with class +klass+ and +message+
8
*/
9
static
VALUE
build_exception
(
VALUE
self
,
VALUE
klass,
VALUE
mesg)
10
{
11
VALUE
e =
rb_obj_alloc
(klass);
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
*/
22
static
VALUE
path2class
(
VALUE
self
,
VALUE
path)
23
{
24
#ifdef HAVE_RUBY_ENCODING_H
25
return
rb_path_to_class
(path);
26
#else
27
return
rb_path2class
(
StringValuePtr
(path));
28
#endif
29
}
30
31
void
Init_psych_to_ruby
(
void
)
32
{
33
VALUE
psych =
rb_define_module
(
"Psych"
);
34
VALUE
visitors =
rb_define_module_under
(psych,
"Visitors"
);
35
VALUE
visitor =
rb_define_class_under
(visitors,
"Visitor"
,
rb_cObject
);
36
cPsychVisitorsToRuby
=
rb_define_class_under
(visitors,
"ToRuby"
, visitor);
37
38
rb_define_private_method
(
cPsychVisitorsToRuby
,
"build_exception"
,
build_exception
, 2);
39
rb_define_private_method
(
cPsychVisitorsToRuby
,
"path2class"
,
path2class
, 1);
40
}
41
/* vim: set noet sws=4 sw=4: */
42
Generated on Fri Jun 28 2013 02:34:36 for Ruby by
1.8.3