BetterErrors / BetterErrors/better_errors

Deprecate REPL::Pry, recommend separate gem

Open
#400 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Ruby
Stars
6.9k
Forks
430
PR merge metrics
No merged PRs in 30d

Description

In the Better Errors project, we run tests against:
- With each major version of Rails and without Rails
- With and without binding_of_caller
- With and without haml
- With Pry 9, 10, and 11.
- On each major version of Ruby.

It's a massive matrix. A build takes 90-180 minutes. Some of these combinations are currently broken (or at least the tests are broken) and need some attention.

By extracting REPL::Pry into a separate gem, we can reduce the size of this matrix and add more test coverage for different versions of Pry and addon gems such as pry-backtrace without making the Better Errors test builds even worse.

At this time, there is no API for an external gem to cleanly inject itself into BE. Activating Pry support requires a line of code in the project which is called at project initialization. We need to be able to declare a plugin and allow it to register with BE at the right time in the lifecycle.

For backward compatibility, we need to still support the existing method of activating Pry support in BE. So the release of Better Errors that implements this would need to:

- Support the existing activation method of calling `BetterErrors.use_pry!` and emit a deprecation notice if it's used.
- Support the better_errors-pry method of activating itself as a plugin to Better Errors.

We might also want to look for the presence of Pry and emit a message at startup suggesting that better_errors-pry be installed.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.