From: Fedor Yudanov Date: Tue, 16 Apr 2013 06:56:24 +0000 (+0700) Subject: #50 - some more tests X-Git-Tag: v1.2.12~296^2~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=45e032d0cc28fb58ce6df9bca7d26834fcf3fa87;p=platform%2Fupstream%2Fejdb.git #50 - some more tests --- diff --git a/rbejdb/src/rbbson.c b/rbejdb/src/rbbson.c index 189ee3f..9909790 100644 --- a/rbejdb/src/rbbson.c +++ b/rbejdb/src/rbbson.c @@ -40,9 +40,16 @@ VALUE bsonContextClass = Qnil; VALUE bsonWrapClass = Qnil; +void rbbson_private_new_method_stub(VALUE clazz) { + VALUE className = rb_inspect(clazz); + rb_raise(rb_eRuntimeError, "%s is internal EJDB class and cannot be instantiated!", StringValuePtr(className)); +} + void init_ruby_to_bson() { bsonContextClass = rb_define_class(BSON_CONTEXT_RUBY_CLASS, rb_cObject); bsonWrapClass = rb_define_class(BSON_RUBY_CLASS, rb_cObject); + rb_define_singleton_method(bsonContextClass, "new", RUBY_METHOD_FUNC(rbbson_private_new_method_stub), 0); + rb_define_singleton_method(bsonWrapClass, "new", RUBY_METHOD_FUNC(rbbson_private_new_method_stub), 0); } void rbbson_context_mark(RBBSON_CONTEXT* rbbsctx) { diff --git a/rbejdb/src/rbejdb.c b/rbejdb/src/rbejdb.c index 785152e..7981200 100644 --- a/rbejdb/src/rbejdb.c +++ b/rbejdb/src/rbejdb.c @@ -49,7 +49,8 @@ VALUE ejdbQueryClass; void private_new_method_stub(VALUE clazz) { - rb_raise(rb_eRuntimeError, "%s class is internal EJDB class and cannot be instanciated!", rb_inspect(clazz)); + VALUE className = rb_inspect(clazz); + rb_raise(rb_eRuntimeError, "%s is internal EJDB class and cannot be instantiated!", StringValuePtr(className)); }