From a39c147f447e72170ba17ae44dd31e76a9e45862 Mon Sep 17 00:00:00 2001 From: Charles Lowell Date: Fri, 4 May 2012 00:23:41 -0500 Subject: [PATCH] add stub for v8::Object --- ext/v8/init.cc | 2 ++ ext/v8/object.cc | 14 ++++++++++++++ ext/v8/rr.h | 9 ++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 ext/v8/object.cc diff --git a/ext/v8/init.cc b/ext/v8/init.cc index 15a0cd1..9074de5 100644 --- a/ext/v8/init.cc +++ b/ext/v8/init.cc @@ -11,7 +11,9 @@ extern "C" { GC::Init(); V8::Init(); Context::Init(); + Value::Init(); String::Init(); + Object::Init(); Script::Init(); } } \ No newline at end of file diff --git a/ext/v8/object.cc b/ext/v8/object.cc new file mode 100644 index 0000000..523101d --- /dev/null +++ b/ext/v8/object.cc @@ -0,0 +1,14 @@ +#include "rr.h" + +namespace rr { + +void Object::Init() { + ClassBuilder("Object", "Value"). + defineSingletonMethod("New", &New); +} + +VALUE Object::New(VALUE self) { + return Object::create(v8::Object::New(), self); +} + +} \ No newline at end of file diff --git a/ext/v8/rr.h b/ext/v8/rr.h index d6d2b70..80e36ea 100644 --- a/ext/v8/rr.h +++ b/ext/v8/rr.h @@ -128,10 +128,17 @@ public: inline String(VALUE value) : Ref(value) {} private: - static VALUE Class; }; +class Object : public Ref { +public: + static void Init(); + static VALUE New(VALUE self); + + inline Object(VALUE value) : Ref(value) {} +}; + class V8 { public: static void Init();