From 7173e39c203d31241ad90ce8606f46605afc8ea9 Mon Sep 17 00:00:00 2001 From: Lamont Granquist Date: Thu, 9 Jul 2015 11:24:26 -0700 Subject: fix other possible superclass mismatches --- ext/ffi_yajl/ext/encoder/encoder.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'ext') diff --git a/ext/ffi_yajl/ext/encoder/encoder.c b/ext/ffi_yajl/ext/encoder/encoder.c index 39a5ce7..92f64a9 100644 --- a/ext/ffi_yajl/ext/encoder/encoder.c +++ b/ext/ffi_yajl/ext/encoder/encoder.c @@ -362,10 +362,13 @@ void Init_encoder() { cYajl_Gen = rb_define_class_under(mEncoder, "YajlGen", rb_cObject); rb_define_method(mEncoder, "do_yajl_encode", mEncoder_do_yajl_encode, 3); - cDate = rb_define_class("Date", rb_cObject); - cTime = rb_define_class("Time", rb_cObject); - cDateTime = rb_define_class("DateTime", cDate); - + /* use rb_const_get instead of rb_define_class so that we don't get superclass mismatches */ + ID sym_Date = rb_intern("Date"); + cDate = rb_const_get(rb_cObject, sym_Date); + ID sym_Time = rb_intern("Time"); + cTime = rb_const_get(rb_cObject, sym_Time); + ID sym_DateTime = rb_intern("DateTime"); + cDateTime = rb_const_get(rb_cObject, sym_DateTime); ID sym_StringIO = rb_intern("StringIO"); cStringIO = rb_const_get(rb_cObject, sym_StringIO); -- cgit v1.2.1