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

Fix an incorrect auto-correct for Style/IfUnlessModifier #9690

Merged

Commits on Apr 10, 2021

  1. Fix an incorrect auto-correct for Style/IfUnlessModifier

    This PR fixes the following incorrect auto-correct for `Style/IfUnlessModifier`
    when using a method with heredoc argument.
    
    ```console
    % cat .rubocop.yml
    Layout/LineLength:
      Max: 80
    
    % cat example.rb
    fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo(<<~EOS) if condition
      string
    EOS
    
    % bundle exec rubocop --only Style/IfUnlessModifier -a
    (snip)
    
    Inspecting 1 file
    C
    
    Offenses:
    
    example.rb:1:70: C: [Corrected] Style/IfUnlessModifier: Modifier form of
    if makes the line too long.
    fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo(<<~EOS) if condition
                                                                         ^^
    
    1 file inspected, 1 offense detected, 1 offense corrected
    ```
    
    ## Before
    
    Auto-corrected to unexpected invalid syntax code.
    
    ```console
    % cat example.rb
    if condition
      fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo(<<~EOS)
    end
      string
    EOS
    
    % ruby -c example.rb
    example.rb:2: syntax error, unexpected end-of-input, expecting `end'
    ```
    
    ## After
    
    Auto-corrected to expected valid syntax code.
    
    ```console
    % cat example.rb
    if condition
      fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo(<<~EOS)
        string
      EOS
    end
    ```
    koic committed Apr 10, 2021
    Copy the full SHA
    ebd042f View commit details
    Browse the repository at this point in the history