aboutsummaryrefslogtreecommitdiffstats
path: root/ext/psych/psych.c
diff options
context:
space:
mode:
authortenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-03-28 21:49:37 +0000
committertenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-03-28 21:49:37 +0000
commitb9b923ca942096ddb1062be2deb9e6de9a65f346 (patch)
treebc8466746efbe763c7e8a54390d9b34db1aa63c4 /ext/psych/psych.c
parenta8a99a7379fa8e07f217fc7b24e3a9208a967898 (diff)
downloadruby-b9b923ca942096ddb1062be2deb9e6de9a65f346.tar.gz
* ext/psych/*: importing Psych to trunk
* test/psych/*: ditto * lib/psych/*: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/psych/psych.c')
-rw-r--r--ext/psych/psych.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/ext/psych/psych.c b/ext/psych/psych.c
new file mode 100644
index 0000000000..ff035af705
--- /dev/null
+++ b/ext/psych/psych.c
@@ -0,0 +1,35 @@
+#include <psych.h>
+
+/* call-seq: Psych.libyaml_version
+ *
+ * Returns the version of libyaml being used
+ */
+static VALUE libyaml_version(VALUE module)
+{
+ int major, minor, patch;
+
+ yaml_get_version(&major, &minor, &patch);
+
+ VALUE list[3] = {
+ INT2NUM((long)major),
+ INT2NUM((long)minor),
+ INT2NUM((long)patch)
+ };
+
+ return rb_ary_new4((long)3, list);
+}
+
+VALUE mPsych;
+
+void Init_psych()
+{
+ mPsych = rb_define_module("Psych");
+
+ rb_define_singleton_method(mPsych, "libyaml_version", libyaml_version, 0);
+
+ Init_psych_parser();
+ Init_psych_emitter();
+ Init_psych_to_ruby();
+ Init_psych_yaml_tree();
+}
+/* vim: set noet sws=4 sw=4: */