diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2015-07-09 11:24:26 -0700 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2015-07-09 11:24:26 -0700 |
commit | 7173e39c203d31241ad90ce8606f46605afc8ea9 (patch) | |
tree | a30914d6d434d431a7665abb5a84e317b4c3da64 /ext/ffi_yajl/ext/encoder | |
parent | 4b8b7dc9bbe907775d1e2250c3dcfc93b20764d0 (diff) | |
download | ffi-yajl-7173e39c203d31241ad90ce8606f46605afc8ea9.tar.gz |
fix other possible superclass mismatches
Diffstat (limited to 'ext/ffi_yajl/ext/encoder')
-rw-r--r-- | ext/ffi_yajl/ext/encoder/encoder.c | 11 |
1 files changed, 7 insertions, 4 deletions
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); |