Sha256: 0848b55f27d0a6dda47fe29866546311c8ffb89aa3641cd02a2d890154177f1d

Contents?: true

Size: 875 Bytes

Versions: 8

Compression:

Stored size: 875 Bytes

Contents

# frozen_string_literal: true
class FileDownloadStat < Hyrax::Statistic
  self.cache_column = :downloads
  self.event_type = :totalEvents

  class << self
    # Hyrax::Download is sent to Hyrax::Analytics.profile as #hyrax__download
    # see Legato::ProfileMethods.method_name_from_klass
    def ga_statistics(start_date, file)
      profile = Hyrax::Analytics.profile
      unless profile
        Rails.logger.error("Google Analytics profile has not been established. Unable to fetch statistics.")
        return []
      end
      profile.hyrax__download(sort: 'date',
                              start_date: start_date,
                              end_date: Date.yesterday,
                              limit: 10_000)
             .for_file(file.id)
    end

    # this is called by the parent class
    def filter(file)
      { file_id: file.id }
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
hyrax-3.2.0 app/models/file_download_stat.rb
hyrax-3.1.0 app/models/file_download_stat.rb
hyrax-3.0.2 app/models/file_download_stat.rb
hyrax-3.0.1 app/models/file_download_stat.rb
hyrax-3.0.0 app/models/file_download_stat.rb
hyrax-3.0.0.pre.rc4 app/models/file_download_stat.rb
hyrax-3.0.0.pre.rc3 app/models/file_download_stat.rb
hyrax-3.0.0.pre.rc2 app/models/file_download_stat.rb