2021-10-14 19:44:59 +01:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class Admin::Metrics::Measure
|
|
|
|
MEASURES = {
|
|
|
|
active_users: Admin::Metrics::Measure::ActiveUsersMeasure,
|
|
|
|
new_users: Admin::Metrics::Measure::NewUsersMeasure,
|
|
|
|
interactions: Admin::Metrics::Measure::InteractionsMeasure,
|
|
|
|
opened_reports: Admin::Metrics::Measure::OpenedReportsMeasure,
|
|
|
|
resolved_reports: Admin::Metrics::Measure::ResolvedReportsMeasure,
|
2021-11-25 12:07:38 +00:00
|
|
|
tag_accounts: Admin::Metrics::Measure::TagAccountsMeasure,
|
|
|
|
tag_uses: Admin::Metrics::Measure::TagUsesMeasure,
|
|
|
|
tag_servers: Admin::Metrics::Measure::TagServersMeasure,
|
2021-10-14 19:44:59 +01:00
|
|
|
}.freeze
|
|
|
|
|
2021-11-25 12:07:38 +00:00
|
|
|
def self.retrieve(measure_keys, start_at, end_at, params)
|
|
|
|
Array(measure_keys).map do |key|
|
|
|
|
klass = MEASURES[key.to_sym]
|
|
|
|
klass&.new(start_at, end_at, klass.with_params? ? params.require(key.to_sym) : nil)
|
|
|
|
end.compact
|
2021-10-14 19:44:59 +01:00
|
|
|
end
|
|
|
|
end
|