Sha256: 60ecf0f9a84ef59bc561b9f266036c9ead1323c048ddf545a7875d41a6101c83

Contents?: true

Size: 967 Bytes

Versions: 11

Compression:

Stored size: 967 Bytes

Contents

package com.gsamokovarov.skiptrace;

import org.jruby.runtime.EventHook;
import org.jruby.runtime.RubyEvent;
import org.jruby.runtime.ThreadContext;
import org.jruby.runtime.builtin.IRubyObject;
import org.jruby.RubyArray;
import org.jruby.RubyException;

public class SetExceptionBindingsEventHook extends EventHook {
    public boolean isInterestedInEvent(RubyEvent event) {
        return event == RubyEvent.RAISE;
    }

    public void eventHandler(ThreadContext context, String eventName, String file, int line, String name, IRubyObject type) {
        RubyArray bindings = RubyBindingsCollector.collectCurrentFor(context);
        RubyException exception = (RubyException) context.runtime.getGlobalVariables().get("$!");

        IRubyObject exceptionBindings = exception.getInstanceVariable("@bindings");
        if (exceptionBindings == null || exceptionBindings.isNil()) {
            exception.setInstanceVariable("@bindings", bindings);
        }
    }
}

Version data entries

11 entries across 11 versions & 4 rubygems

Version Path
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/bindex-0.8.1/ext/skiptrace/com/gsamokovarov/skiptrace/SetExceptionBindingsEventHook.java
chatops-rpc-0.0.2 fixtures/chatops-controller-example/vendor/bundle/ruby/2.5.0/gems/bindex-0.8.1/ext/skiptrace/com/gsamokovarov/skiptrace/SetExceptionBindingsEventHook.java
chatops-rpc-0.0.1 fixtures/chatops-controller-example/vendor/bundle/ruby/2.5.0/gems/bindex-0.8.1/ext/skiptrace/com/gsamokovarov/skiptrace/SetExceptionBindingsEventHook.java
bindex-0.8.1 ext/skiptrace/com/gsamokovarov/skiptrace/SetExceptionBindingsEventHook.java
skiptrace-0.8.1 ext/skiptrace/com/gsamokovarov/skiptrace/SetExceptionBindingsEventHook.java
skiptrace-0.8.0 ext/skiptrace/com/gsamokovarov/skiptrace/SetExceptionBindingsEventHook.java
bindex-0.8.0 ext/skiptrace/com/gsamokovarov/skiptrace/SetExceptionBindingsEventHook.java
bindex-0.7.0 ext/skiptrace/com/gsamokovarov/skiptrace/SetExceptionBindingsEventHook.java
skiptrace-0.7.0 ext/skiptrace/com/gsamokovarov/skiptrace/SetExceptionBindingsEventHook.java
bindex-0.6.0 ext/skiptrace/com/gsamokovarov/skiptrace/SetExceptionBindingsEventHook.java
skiptrace-0.6.0 ext/skiptrace/com/gsamokovarov/skiptrace/SetExceptionBindingsEventHook.java