Class: Hyrax::Analytics::Ga4::Visits

Inherits:
Base
  • Object
show all
Defined in:
app/services/hyrax/analytics/ga4/visits.rb

Instance Attribute Summary

Attributes inherited from Base

#dimensions, #end_date, #metrics, #start_date

Instance Method Summary collapse

Methods inherited from Base

#add_filter, #dimension_expressions, #dimension_filter, #filters, #filters=, #report, #results, #results_array

Constructor Details

#initialize(start_date:, end_date:, dimensions: [{ name: 'newVsReturning' }], metrics: [{ name: 'sessions' }]) ⇒ Visits

Returns a new instance of Visits.



6
7
8
# File 'app/services/hyrax/analytics/ga4/visits.rb', line 6

def initialize(start_date:, end_date:, dimensions: [{ name: 'newVsReturning' }], metrics: [{ name: 'sessions' }])
  super
end

Instance Method Details

#new_visitsObject



10
11
12
# File 'app/services/hyrax/analytics/ga4/visits.rb', line 10

def new_visits
  unwrap_metric(results.detect { |r| unwrap_dimension(metric: r) == 'new' })
end

#return_visitsObject



14
15
16
# File 'app/services/hyrax/analytics/ga4/visits.rb', line 14

def return_visits
  unwrap_metric(results.detect { |r| unwrap_dimension(metric: r) == 'returning' })
end

#total_visitsObject



27
28
29
# File 'app/services/hyrax/analytics/ga4/visits.rb', line 27

def total_visits
  new_visits + return_visits + unknown_visits
end

#unknown_visitsObject



18
19
20
21
22
23
24
25
# File 'app/services/hyrax/analytics/ga4/visits.rb', line 18

def unknown_visits
  empty_metrics = results.detect { |r| unwrap_dimension(metric: r) == '' }
  not_set_metrics = results.detect { |r| unwrap_dimension(metric: r) == '(not set)' }
  unknown = 0
  unknown += unwrap_metric(empty_metrics) if empty_metrics.present?
  unknown += unwrap_metric(not_set_metrics) if not_set_metrics.present?
  unknown
end