Я получил этот фрагмент кода, который увеличивает ограничение длины строки, превышающее нарушение Rubocop:
return organisation_path(current_user.organisation) if current_user.organisation
return session[:previous_url] if session[:previous_url]
return organisation_path(current_user.pending_organisation_id) if current_user.pending_organisation_id
root_path
конец
Предел превышен в предпоследней строке. Я пытаюсь реорганизовать эту строку, чтобы раскрыть преступление Рубокопа.
Моя первая попытка состояла в том, чтобы разделить его следующим образом:
return organisation_path(current_user.pending_organisation_id) if
current_user.pending_organisation_id
Но это не выглядит читабельно.
Моя вторая попытка состояла в том, чтобы выделить эту строку в метод, поэтому я создал этот метод:
def pending_organization_path_for_current_user
return organisation_path(current_user.pending_organisation_id) if current_user.pending_organisation_id
end
Но опять же, имя метода слишком длинное и, следовательно, строка
pending_organization_path_for_current_user if current_user.pending_organisation_id
превышает длину строки, и, следовательно, решение для меня неосуществимо.
Итак, мой вопрос как новичка: как я должен рассматривать такие случаи рефакторинга?