Revamped integrations for CRuby and Rubinius #165
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With support for Ruby 2.2.2 and above, we can get the CRuby integration running only by exposing the debug inspector API to Ruby land and using the builtin tracepoint API. This replaces
binding_of_caller
for the way lighter gem ofdebug_inspector
.While redoing the CRuby integration, I have extracted a new common interface for every integration to implement. That's
WebConsole.caller_bindings
and a single definition ofException#bindings
. The rubinius integration has also been changed here, as it didn't needed much work to support the new scheme.This leaves us with the JRuby integration hanging at the moment, because I can't even start the dummy application with Rails 5 with JRuby 9.0.{0,1}.0 at the moment. I can't target 1.7 series, because of the kwargs params usage we have. I know we don't officially support it, but I like JRuby and will try to get the integration running as soon as we get 5 somehow working on it.