а так же:
@users.all?(&:activated) вызовет создание объекта класса Proc для каждого объекта из массива, что приведет к расходу памяти у снижению производительности
вариант @users.all?{|u| u.activated } не вызовет такого эфекта, нои выглядит как-то не так лаконично…
но это, как и описанный в вашем комменте случай, не имеет значения для повседневных задач
вообщето нельзя. в руби 0 это true, а значит будут учитываться и те у которых activated выставлен в 0 и в 1. не будут учитываться те у которых activated выставлен в false, либо вообще не задан(nil)
проверьте сами:
>> !!1
=> true
>> !!0
=> true
>> !!nil
=> false
>> !!false
=> false
«activated равен 1, значит пользователь активен» — не кошерно. надо бы сделать activated булевым (вот тогда @users.all?(&:activated) вкатит )
Есть мнение, что необязательно что-то «продавать», чтобы получать от этого профит. Примером может быть рекламная бизнес модель, где контент(информация с нулевой стоимостью репликации) используется для привлечения трафика, а профит идет от продажи реальных предметов.
@users.all?(&:activated) вызовет создание объекта класса Proc для каждого объекта из массива, что приведет к расходу памяти у снижению производительности
вариант @users.all?{|u| u.activated } не вызовет такого эфекта, нои выглядит как-то не так лаконично…
но это, как и описанный в вашем комменте случай, не имеет значения для повседневных задач
проверьте сами:
>> !!1
=> true
>> !!0
=> true
>> !!nil
=> false
>> !!false
=> false
«activated равен 1, значит пользователь активен» — не кошерно. надо бы сделать activated булевым (вот тогда @users.all?(&:activated) вкатит )