diff options
Diffstat (limited to 'ext/psych/yaml_tree.c')
-rw-r--r-- | ext/psych/yaml_tree.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/ext/psych/yaml_tree.c b/ext/psych/yaml_tree.c new file mode 100644 index 0000000000..bcf24d2070 --- /dev/null +++ b/ext/psych/yaml_tree.c @@ -0,0 +1,24 @@ +#include <psych.h> + +VALUE cPsychVisitorsYamlTree; + +/* + * call-seq: private_iv_get(target, prop) + * + * Get the private instance variable +prop+ from +target+ + */ +static VALUE private_iv_get(VALUE self, VALUE target, VALUE prop) +{ + return rb_attr_get(target, rb_intern(StringValuePtr(prop))); +} + +void Init_psych_yaml_tree(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); + cPsychVisitorsYamlTree = rb_define_class_under(visitors, "YAMLTree", visitor); + + rb_define_private_method(cPsychVisitorsYamlTree, "private_iv_get", private_iv_get, 2); +} +/* vim: set noet sws=4 sw=4: */ |