refactor: define node matchers on assertion classes #1793
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.
I figured this would be enough but didn't want to overload #1790.
It does send the fixer for
InternalAffairs/NodeMatcherDirective
into an inf. loop though - it looks like one part of the cop sees just the "self" whereas the other sees the whole definition, so it reports "use self.match_assertion instead of self" and then the fixer just keeps adding.match_assertion
to the end of the string until it errors; for now I've just disabled it, but I might try and look into it at some point.Before submitting the PR make sure the following are checked:
master
(if not - rebase it).Updated documentation.Added an entry to theCHANGELOG.md
if the new code introduces user-observable changes.bundle exec rake
) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).If you have created a new cop:
Added the new cop toconfig/default.yml
.The cop is configured asEnabled: pending
inconfig/default.yml
.The cop is configured asEnabled: true
in.rubocop.yml
.The cop documents examples of good and bad code.The tests assert both that bad code is reported and that good code is not reported.SetVersionAdded: "<<next>>"
indefault/config.yml
.If you have modified an existing cop's configuration options:
SetVersionChanged: "<<next>>"
inconfig/default.yml
.