class V8::Portal::Interceptor
def initialize(portal, access)
def initialize(portal, access) @to, @access = portal, access end
def intercept(info, retval = nil, &code)
def intercept(info, retval = nil, &code) obj = @to.rb(info.This()) intercepts = true result = @to.rubyprotect do dontintercept = proc do intercepts = false end code.call(obj, dontintercept) end intercepts ? (retval || result) : C::Empty end