@@ -20,25 +20,29 @@ namespace rr {
2020 }
2121
2222 // TODO: Allow setting of property attributes
23- VALUE Object::Set (VALUE self, VALUE key, VALUE value) {
23+ VALUE Object::Set (VALUE self, VALUE r_context, VALUE key, VALUE value) {
2424 Object object (self);
25- Locker lock (object.getIsolate ());
25+ Context context (r_context);
26+ Isolate isolate (object.getIsolate ());
27+ Locker lock (isolate);
2628
2729 if (rb_obj_is_kind_of (key, rb_cNumeric)) {
28- return Bool (object->Set (UInt32 (key), Value::rubyObjectToHandle (object. getIsolate () , value)));
30+ return Bool::Maybe (object->Set (context, UInt32 (key), Value::rubyObjectToHandle (isolate , value)));
2931 } else {
30- return Bool (object->Set (*Value (key), Value::rubyObjectToHandle (object. getIsolate () , value)));
32+ return Bool::Maybe (object->Set (context, *Value (key), Value::rubyObjectToHandle (isolate , value)));
3133 }
3234 }
3335
34- VALUE Object::Get (VALUE self, VALUE key) {
36+ VALUE Object::Get (VALUE self, VALUE r_context, VALUE key) {
3537 Object object (self);
36- Locker lock (object.getIsolate ());
38+ Context context (r_context);
39+ Isolate isolate (object.getIsolate ());
40+ Locker lock (isolate);
3741
3842 if (rb_obj_is_kind_of (key, rb_cNumeric)) {
39- return Value::handleToRubyObject (object. getIsolate () , object->Get (UInt32 (key)));
43+ return Value::Maybe (isolate , object->Get (context, UInt32 (key)));
4044 } else {
41- return Value::handleToRubyObject (object. getIsolate () , object->Get (*Value (key)));
45+ return Value::Maybe (isolate , object->Get (context, *Value (key)));
4246 }
4347 }
4448
0 commit comments