Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Node#condition? aware of case-match node #227

Merged

Conversation

koic
Copy link
Member

@koic koic commented Apr 8, 2022

This PR makes Node#condition? aware of case-match node.

This PR makes `Node#condition?` aware of `case-match` node.
@koic
Copy link
Member Author

koic commented Apr 9, 2022

@marcandre Can you review this PR? jruby-head CI matrix is failing, but it is unrelated to this change.

@marcandre marcandre merged commit 8bb6113 into rubocop:master Apr 9, 2022
@marcandre
Copy link
Contributor

Thanks @koic, released in v1.17.0 👍

@koic koic deleted the make_node_condition_p_aware_of_case_match branch April 9, 2022 09:57
@koic
Copy link
Member Author

koic commented Apr 9, 2022

Thank you!

koic added a commit to koic/rubocop that referenced this pull request Apr 9, 2022
This PR fixes the following false positive for `Style/DoubleNegation`
when inside returned conditional clauses with Ruby 2.7's pattern matching.

The following is a reproduction case.

```ruby
def foo?
  case condition
  in foo
    !!foo
  in bar
    !!bar
  else
    !!baz
  end
end
```

It is expected that an offense will not be registered, but in actually
an offense will be registered.

```console
% bundle exec rubocop --only Style/DoubleNegation
(snip)

Inspecting 2 files
C.

Offenses:

example.rb:4:5: C: [Correctable] Style/DoubleNegation: Avoid the use of double negation (!!).
    !!foo
    ^
example.rb:6:5: C: [Correctable] Style/DoubleNegation: Avoid the use of double negation (!!).
    !!bar
    ^

2 files inspected, 2 offenses detected, 2 offenses auto-correctable
```

This is a follow-up to the same issue as rubocop#10474 and requires RuboCop AST 1.7 to fix.
Therefore it bumps RuboCop AST required to use rubocop/rubocop-ast#227
to 1.7 or higher.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants