summaryrefslogtreecommitdiffhomepage
path: root/src/example.c
blob: f58ca11e0947f0a7cf673dca8d17eead3dcee33d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <mruby.h>
#include <mruby/string.h>
#include <stdio.h>

	static mrb_value
mrb_c_method(mrb_state *mrb, mrb_value self)
{
	mrb_ensure_string_type(mrb, self);
	printf("%s: A C Extension\n", mrb_str_to_cstr(mrb, self));

	return self;
}

void
mrb_my_silly_extension_gem_init(mrb_state* mrb) {
	struct RClass *class_cextension = mrb_define_module(mrb, "CRubyExtension");
	mrb_define_class_method(mrb, class_cextension, "c_method", mrb_c_method, MRB_ARGS_NONE());
}

void
mrb_my_silly_extension_gem_final(mrb_state* mrb) {
	/* finalizer */
}