[Fix #10147] Fix Lint/ElseLayout
for else nodes with a single line body
#10192
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.
The ElseLayout cop, in spirit, is trying to prevent accidentally using
else when a user meant to use elsif based on the fact that they used
else in a similar way as elsif (by passing an argument to it).
However; the syntax of having a compact single line else statement with
no other body is valid and likely shouldn't be flagged as problematic.
This commit stops ElseLayout cop from reporting an offense when all the
else branch's children are on the same line as the else node itself,
while still reporting errors if there are children on other lines in the
else branch (which is likely a mistake)
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.