Add autocorrect for Lint/AssignmentInCondition
#11211
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 think adding support for unsafe autocorrection to
Lint/AssignmentInCondition
would be more useful in some cases. Now thatSafeAutoCorrect: false
allows us to indicate to users that it is unsafe, I don't think we will have much trouble because of this support.I decided to replace the code as assignment by default in this autocorrection because it does not change the behavior of the current code. If there seem to be many use cases where the behavior of autocorrection needs to be changed, we can add such configuration in this Pull Request or the future change. (In fact, is there any Cop that allows the autocorrection behavior to be switched by configuration in that way?)
Depending on the policy, this type of autocorrection support may not be acceptable in RuboCop. In which case, please do not hesitate to close this Pull Request.
Before submitting the PR make sure the following are checked:
[Fix #issue-number]
(if the related issue exists).master
(if not - rebase it).bundle exec rake default
. It executes all tests and runs RuboCop on its own code.{change_type}_{change_description}.md
if the new code introduces user-observable changes. See changelog entry format for details.