rubocop / rubocop-jp

A place for RuboCop discussions in Japanese
55 stars 2 forks source link

1行に複数メソッドが定義してあるときにauto correctのインデントがおかしくなった #60

Closed 4geru closed 4 years ago

4geru commented 5 years ago

background

1行に複数methodを宣言してある場合に、auto correctをするとインデントがおかしくなった。

original code

# frozen_string_literal: true

def first_method; 'ok' end; def second_method; 'bad' end

asserts

Inspecting 1 file
C

Offenses:

test.rb:3:1: C: Style/SingleLineMethods: Avoid single-line method definitions.
def first_method; 'ok' end; def second_method; 'bad' end
^^^^^^^^^^^^^^^^^^^^^^^^^^
test.rb:3:17: C: Style/Semicolon: Do not use semicolons to terminate expressions.
def first_method; 'ok' end; def second_method; 'bad' end
                ^
test.rb:3:29: C: Layout/EmptyLineBetweenDefs: Use empty lines between method definitions.
def first_method; 'ok' end; def second_method; 'bad' end
                            ^^^
test.rb:3:29: C: Style/SingleLineMethods: Avoid single-line method definitions.
def first_method; 'ok' end; def second_method; 'bad' end
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

auto correct

# frozen_string_literal: true

def first_method
  'ok'
end; def second_method

       'bad'
                            end

expect

# frozen_string_literal: true

def first_method
  'ok'
end

def second_method
  'bad'
end
koic commented 4 years ago

こちらの問題について最新の RuboCopでは解決されています (このコメントをしている時点の最新バージョンは 1.4.1) 。RuboCop のアップデートをしてください。