1
0
Fork 0
mirror of https://github.com/rubyjs/therubyracer synced 2023-03-27 23:21:42 -04:00
therubyracer/ext/v8/string.cc

21 lines
499 B
C++
Raw Normal View History

2012-05-02 19:15:11 -04:00
#include "rr.h"
namespace rr {
VALUE StringClass;
2012-05-02 19:15:11 -04:00
namespace {
VALUE New(VALUE StringClass, VALUE string) {
v8::HandleScope h;
return String::ToRuby(v8::String::New(RSTRING_PTR(string), (int)RSTRING_LEN(string)));
2012-05-02 19:15:11 -04:00
}
}
VALUE String::ToRuby(v8::Handle<v8::String> string) {
return String::create(string, StringClass);
}
2012-05-02 19:15:11 -04:00
void String::Init() {
rb_gc_register_address(&StringClass);
StringClass = defineClass("String");
2012-05-02 19:15:11 -04:00
RR_DEFINE_SINGLETON_METHOD(StringClass, "New", &New, 1);
}
}