Railsチュートリアルをやっている時にRubocopから* RuboCop: Style/GuardClause: Use a guard clause instead of wrapping the code inside a conditional expression. [Style/GuardClause]
と怒られました。
怒られたコードはこれ。
# ログイン済みユーザーかどうか確認
def logged_in_user
unless logged_in?
flash[:danger] = "Please log in."
redirect_to login_url
end
end
条件のネストが深すぎ、guard clause
を使えとのこと。
で、これをリファクタリングするとこうなる。
# ログイン済みユーザーかどうか確認
def logged_in_user
return if logged_in?
flash[:danger] = 'Please log in.'
redirect_to login_url
end
Rubocop入れて初めてRailsチュートリアルを復習している最中ですが、わりと怒られる。なぜだ。