Sha256: baf605f9070e51289ea96f0a1da7a9792f75d3c51a92357c3b28700d098f562e

Contents?: true

Size: 850 Bytes

Versions: 2

Compression:

Stored size: 850 Bytes

Contents

# frozen_string_literal: true

module Spotlight
  ##
  # Exhibit mixin to provide analytics data
  module ExhibitAnalytics
    def analytics(start_date = 1.month, path = nil)
      return OpenStruct.new unless analytics_provider && analytics_provider.enabled?

      @analytics ||= {}
      @analytics[start_date] ||= begin
        analytics_provider.exhibit_data(path || self, start_date: start_date.ago)
      end
    end

    def page_analytics(start_date = 1.month, path = nil)
      return [] unless analytics_provider && analytics_provider.enabled?

      @page_analytics ||= {}
      @page_analytics[start_date] ||= begin
        analytics_provider.page_data(path || self, start_date: start_date.ago)
      end
    end

    def analytics_provider
      @analytics_provider ||= Spotlight::Engine.config.analytics_provider.new
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
blacklight-spotlight-3.0.0.alpha.2 app/models/concerns/spotlight/exhibit_analytics.rb
blacklight-spotlight-3.0.0.alpha.1 app/models/concerns/spotlight/exhibit_analytics.rb