Sha256: 7bec7db3e6b036d4e730211d78c380869fbfb646c49d7cc73f9f00281dd3e844

Contents?: true

Size: 951 Bytes

Versions: 7

Compression:

Stored size: 951 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__analytics__google__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

7 entries across 7 versions & 1 rubygems

Version Path
hyrax-3.6.0 app/models/file_download_stat.rb
hyrax-3.5.0 app/models/file_download_stat.rb
hyrax-3.4.2 app/models/file_download_stat.rb
hyrax-4.0.0.beta1 app/models/file_download_stat.rb
hyrax-3.4.1 app/models/file_download_stat.rb
hyrax-3.4.0 app/models/file_download_stat.rb
hyrax-3.3.0 app/models/file_download_stat.rb