Closed jekhor closed 1 year ago
@jekhor Усё тут падаецца правільна. скоп маделі(метад класса) і метады інстанса класа active?
User.active != user.active? розныя аб'екты і розныя метады. У якім месцы кода блытаніна?
Мне калі трэба атрымаць спіс дзейсных на дадзены момант юзэраў (не забаненых і не ў саспендзе), то я, убачыўшы метад User.active і ведаючы пра User#active?, проста ні на секунду не буду сумнявацца, што User.active — як раз тое, што мне трэба. А насамрэч не.
семантыка розная.
ага, цяпер бачу што не зусім празрыста ўнутры.
трэба рэфакторыць або проста увесці flag які будзе ставіцца актыўнамую юзеру як true і табы будзе менш выбараць і іфчыкаў.
def self.active (allowed.paid + allowed.signed_in).uniq end
Ну мне падаецца, што непатрэбна нам тая сартыроўка па "актыўнасці" юзэраў, якую калісьці праз гэта рабілі ў спісе ўдзельнікаў.
так, пасля саспенд логікі прыйшоў час пераглядзець гэта.
Зрабіў змены тут https://github.com/minsk-hackerspace/hackerspace.by/pull/577
Возникла путаница с методами User.active и User#active? (методы класса и объекта соответственно). В одном случае — это юзеры, которые хоть когда-то проявляли активность (заплатили хоть раз и хоть раз логинились), во втором — это проверка на то, не находится ли юзер в бане/саспенде. Из-за этой неочевидной разницы в семантике User.active в парочке мест используется не по назначению.
Наверное, надо User.active (который используется в основном для показа списка участников) привести в соответствие с User#active?, либо переименовать его в соответствии с семантикой.