Sha256: 915b6e29e30fef30846c1b687ae6a3d8e71bcd832a10cdeb46be09275281dd18

Contents?: true

Size: 906 Bytes

Versions: 8

Compression:

Stored size: 906 Bytes

Contents

# Called by the stats controller, it finds cached file pageview data,
# and prepares it for visualization in /app/views/stats/file.html.erb
module Sufia
  class FileUsage < StatsUsagePresenter
    def initialize(id)
      self.model = ::FileSet.find(id)
    end

    alias file model

    def total_downloads
      downloads.reduce(0) { |total, result| total + result[1].to_i }
    end

    def total_pageviews
      pageviews.reduce(0) { |total, result| total + result[1].to_i }
    end

    # Package data for visualization using JQuery Flot
    def to_flot
      [
        { label: "Pageviews",  data: pageviews },
        { label: "Downloads",  data: downloads }
      ]
    end

    private

      def downloads
        to_flots(FileDownloadStat.statistics(model, created, user_id))
      end

      def pageviews
        to_flots(FileViewStat.statistics(model, created, user_id))
      end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
sufia-7.4.1 app/presenters/sufia/file_usage.rb
sufia-7.4.0 app/presenters/sufia/file_usage.rb
sufia-7.3.1 app/presenters/sufia/file_usage.rb
sufia-7.3.0 app/presenters/sufia/file_usage.rb
sufia-7.3.0.rc3 app/presenters/sufia/file_usage.rb
sufia-7.3.0.rc2 app/presenters/sufia/file_usage.rb
sufia-7.3.0.rc1 app/presenters/sufia/file_usage.rb
sufia-7.2.0 app/presenters/sufia/file_usage.rb