-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Add new Style/EmptyBlockParameter
cop
#5031
Conversation
|
||
it 'registers an offense for an empty block parameter with a lambda' do | ||
expect_offense(<<-RUBY.strip_indent) | ||
-> () { do_something } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would much rather have this as a separate cop.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 I'll separate the cop into Style/EmptyBlockParameter
and Style/EmptyLambdaParameter
.
|
||
def on_block(node) | ||
empty_arguments?(node) do |args| | ||
return unless args.loc.expression |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we put this as a meaningfully named method in ArgsNode
? 🙂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably. I'll try it.
module Style | ||
# This cop checks for delimiters that are pipes or braces for empty | ||
# block parameters. Delimiters for empty block parameters do not cause | ||
# syntax errors, but it looks strange. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"It looks strange" is a subjective valuation, I guess. Perhaps "are redundant"? 🙂
Nice! Didn't even know you could do this without syntax error. 😅 |
- Separate cops - add empty_and_without_delimiters? method to ArgsNode
👍 |
This cop checks delimiters of empty block parameters.
Before submitting the PR make sure the following are checked:
[Fix #issue-number]
(if the related issue exists).master
(if not - rebase it).rake spec
) are passing.rake internal_investigation
.and description in grammatically correct, complete sentences.
rake generate_cops_documentation
(required only when you've added a new cop or changed the configuration/documentation of an existing cop).