summaryrefslogtreecommitdiff
path: root/app/controllers/admin/cohorts_controller.rb
blob: 8163f062b62183cf75e440c609205f7747e7cbea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# frozen_string_literal: true

class Admin::CohortsController < Admin::ApplicationController
  include Analytics::UniqueVisitsHelper

  feature_category :devops_reports

  def index
    @cohorts = load_cohorts
    track_cohorts_visit
  end

  private

  def load_cohorts
    cohorts_results = Rails.cache.fetch('cohorts', expires_in: 1.day) do
      CohortsService.new.execute
    end

    CohortsSerializer.new.represent(cohorts_results)
  end

  def track_cohorts_visit
    if request.format.html? && request.headers['DNT'] != '1'
      track_visit('i_analytics_cohorts')
    end
  end
end