У меня есть класс Search
, где у меня есть метод, который обрабатывает запрос и возвращает идентификаторы пользователя.
Кроме того, у меня есть три метода, которые основаны на количестве результатов, они будут подсчитывать количество пользователей в определенной категории.
но получается, что мне приходится вызывать метод base_lead_scope
4 раза, можно ли от него избавиться?
def initialize(opts = {})
opts.symbolize_keys!
@params = opts[:params]
@current_team = opts[:current_team]
@current_user = opts[:current_user]
@scope = base_lead_scope(opts[:overrides] || {})
end
def archived_count
@archived_count ||= base_lead_scope(overrides: { archived: true })
.including_referrals(user: current_user, team: current_team)
.archived.total_count
end
def recruiting_count
@recruiting_count ||= base_lead_scope(overrides: { archived: false })
.including_referrals(user: current_user, team: current_team)
.recruiting_status.total_count
end
def retention_count
@retention_count ||= base_lead_scope(overrides: { archived: false })
.including_referrals(user: current_user, team: current_team)
.retention_status.total_count
end