module V8::Conversion::Accessor

def intercept(info, key, &block)

def intercept(info, key, &block)
  context = V8::Context.current
  access = context.access
  object = context.to_ruby(info.This())
  handles_property = true
  dontintercept = proc do
    handles_property = false
  end
  protect do
    result = block.call(context, access, object, context.to_ruby(key), dontintercept)
    handles_property ? context.to_v8(result) : V8::C::Value::Empty
  end
end