Install RSpecMatcherProxies via Object#extend as well #2771
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.
Here's a fix for the Capybara vs. Cucumber vs. Aruba's
all
method conflict problem described in #2761Cucumber's implementation is that it creates a world by mixing-in various modules on top of an anonymous module:
https://github.com/cucumber/cucumber-ruby/blob/v9.2.0/lib/cucumber/glue/proto_world.rb#L176
and Capybara::DSL is mixed-in in this process via
Object#extend
. NotModule#include
norModule#prepend
.Thus, our DSLRSpecProxyInstaller module has to stand by for
self.extended
hook in addition to currently implemented ones.I confirmed that this patch fixes @PragTob's reproduction case in https://github.com/PragTob/all_conflict
fixes #2761