summaryrefslogtreecommitdiff
path: root/ext/-test-/integer/my_integer.c
blob: 94f14d27651a3fbf3a838c630e032ceae364ba41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "ruby.h"

static const rb_data_type_t my_integer_type = {
    "MyInteger", {0}, 0, 0, RUBY_TYPED_FREE_IMMEDIATELY
};

static VALUE
my_integer_s_new(VALUE klass)
{
    return TypedData_Wrap_Struct(klass, &my_integer_type, 0);
}

void
Init_my_integer(VALUE klass)
{
    VALUE cMyInteger;

    cMyInteger = rb_define_class_under(klass, "MyInteger", rb_cInteger);
    rb_define_singleton_method(cMyInteger, "new", my_integer_s_new, 0);
}