1
0
Fork 0
mirror of https://github.com/rubyjs/therubyracer synced 2023-03-27 23:21:42 -04:00
therubyracer/v8_cxt.cpp

29 lines
462 B
C++
Raw Normal View History

#include "v8_cxt.h"
#include "ruby.h"
using namespace v8;
VALUE v8_cxt_allocate(VALUE clazz) {
return V8_Ref_Create(clazz, Context::New());
2009-12-07 09:06:06 -05:00
}
VALUE v8_cxt_Global(VALUE self) {
V8_Ref_Get(Context, cxt, self);
2009-12-07 09:06:06 -05:00
cxt->Global();
return Qnil;
}
VALUE v8_cxt_open(VALUE self) {
HandleScope handles;
V8_Ref_Get(Context, cxt, self);
2009-12-07 09:06:06 -05:00
Context::Scope enter(cxt);
if (rb_block_given_p()) {
return rb_yield(self);
} else {
return Qnil;
}
}