# frozen_string_literal: true module Reports::TopTrafficSources extend ActiveSupport::Concern class_methods do def report_top_traffic_sources(report) category_id, include_subcategories = report.add_category_filter report.modes = [:table] report.labels = [ { property: :domain, title: I18n.t("reports.top_traffic_sources.labels.domain") }, { property: :num_clicks, type: :number, title: I18n.t("reports.top_traffic_sources.labels.num_clicks"), }, { property: :num_topics, type: :number, title: I18n.t("reports.top_traffic_sources.labels.num_topics"), }, ] options = { end_date: report.end_date, start_date: report.start_date, limit: report.limit || 8, category_id: category_id, include_subcategories: include_subcategories, } result = IncomingLinksReport.find(:top_traffic_sources, options) report.data = result.data end end end