Slide 38
Slide 38 text
LET’S GIVE IT A TRY
#include "ruby.h"
VALUE tf_transfigure_into_bang(VALUE self, VALUE target_klass) {
// Forgive me father, for I have sinned.
((struct TFRBasic*)RBASIC(self))->klass = target_klass;
return Qnil;
}
void Init_transfigure() {
rb_define_method(
rb_cObject,
"transfigure_into!",
RUBY_METHOD_FUNC(tf_transfigure_into_bang),
1
);
}