RuboCop | Style/TrailingBlankLines
概要
RuboCopの「Style/TrailingBlankLines」警告について。
ファイルの末尾の行に余分な空白があるかチェックをする。
デフォルトでは末尾に1行の空行がある状態を正常とします。
TrailingBlankLines
設定値一覧
設定対象 | 対象 | 内容 | デフォルト |
---|---|---|---|
EnforcedStyle | final_newline | 最後に新たな行を必要とするか | ○ |
EnforcedStyle | final_blank_line | 最後に空白行がある場合もエラーとする | -- |
検証プログラム
※Markdown変換時に空行が消えてしまうため、本来はコード中にはない全角空白を追加してあります
trailing_blank_lines1.rb
print 'hoge'
trailing_blank_lines2.rb
print 'hoge'
trailing_blank_lines3.rb
print 'hoge'
実行結果 デフォルト の場合
.rubocop.yml
TrailingBlankLines:
EnforcedStyle: final_newline
$ rubocop trailing_blank_lines1.rb
Inspecting 1 file
.
1 file inspected, no offenses detected
$ rubocop trailing_blank_lines2.rb
Inspecting 1 file
C
Offenses:
trailing_blank_lines2.rb:2:1: C: 1 trailing blank lines detected.
1 file inspected, 1 offense detected
$ rubocop trailing_blank_lines3.rb
Inspecting 1 file
C
Offenses:
trailing_blank_lines3.rb:1:13: C: Final newline missing.
print 'hoge'
1 file inspected, 1 offense detected
実行結果 final_blank_line に設定した場合
.rubocop.yml
TrailingBlankLines:
EnforcedStyle: final_blank_line
$ rubocop trailing_blank_lines1.rb
Inspecting 1 file
C
Offenses:
trailing_blank_lines1.rb:2:1: C: Trailing blank line missing.
1 file inspected, 1 offense detected
$ rubocop trailing_blank_lines2.rb
Inspecting 1 file
.
1 file inspected, no offenses detected
$ rubocop trailing_blank_lines3.rb
Inspecting 1 file
C
Offenses:
trailing_blank_lines3.rb:1:13: C: Final newline missing.
print 'hoge'
1 file inspected, 1 offense detected
対象コード
https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/cop/style/trailing_blank_lines.rb
https://github.com/bbatsov/rubocop/blob/master/spec/rubocop/cop/style/trailing_blank_lines_spec.rb
補足
この警告は rubocop -a で修正可能です。
RuboCopまとめ記事