class Decidim::Debates::Metrics::DebateFollowersMetricMeasure

  • Debates
    Searches for unique Users following the next objects

def calculate

def calculate
  debates = Decidim::Debates::Debate.where(component: @resource).joins(:component)
  debates_followers = Decidim::Follow.where(followable: debates).joins(:user)
                                     .where("decidim_follows.created_at <= ?", end_time)
  cumulative_users = debates_followers.pluck(:decidim_user_id)
  debates_followers = debates_followers.where("decidim_follows.created_at >= ?", start_time)
  quantity_users = debates_followers.pluck(:decidim_user_id)
  {
    cumulative_users: cumulative_users.uniq,
    quantity_users: quantity_users.uniq
  }
end

def valid?

def valid?
  super && @resource.is_a?(Decidim::Component)
end