rubocop
rubocop copied to clipboard
[Fix #11399] Add new `Style/UnlessMinimizeNegations` cop
Fixes #11399.
This PR adds new Style/UnlessMinimizeNegations cop.
It minimizes the number of negations in an unless using De Morgan’s laws.
# bad (all terms negated)
do_something unless !x && !y
# good (all terms positive)
do_something if x || y
# bad (2 negations, 1 positive)
do_something unless !x || !y || z
# good (2 positives, 1 negation)
do_something if x && y && !z
Before submitting the PR make sure the following are checked:
- [x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
- [x] Wrote good commit messages.
- [x] Commit message starts with
[Fix #issue-number](if the related issue exists). - [x] Feature branch is up-to-date with
master(if not - rebase it). - [x] Squashed related commits together.
- [x] Added tests.
- [x] Ran
bundle exec rake default. It executes all tests and runs RuboCop on its own code. - [x] Added an entry (file) to the changelog folder named
{change_type}_{change_description}.mdif the new code introduces user-observable changes. See changelog entry format for details.
@SparLaimor friendly ping :-)
This pull request has been automatically marked as stale because it has not had any recent activity. It will be closed soon if no further activity occurs. Thank you for your contribution and understanding!
This pull request has been automatically closed due to lack of activity. Feel free to ask for it to be re-opened if you ever come back to it.