В этой статье используется тот же код:
http://toolmantim.com/articles/bangbang_your_nil_is_dead
По сути, похоже, что он просто предназначен для применения оператора not (!) Дважды - по сути, заставляя метод возвращать true или false вместо true, false или nil.
То есть, если @current_user
равно нулю, вызывать
def logged_in?
@current_user()
end
вернет ноль. Изменение его на (одиночный взрыв)
def logged_in?
!@current_user()
end
вернет истину и изменится на (двойной удар)
def logged_in?
!!@current_user()
end
вернет false - что более применимо (и применимо), чем ноль.
Другой способ написать это будет:
def logged_in?
!@current_user().nil?
end
но это не относится к случаю, когда @current_user
ложно, и я думаю, что !!
приятнее смотреть.