Sha256: a0eb40a1e6d8c157d17a914753cf171955f06d1d6e81d386bb6cbfe212ce0799

Contents?: true

Size: 916 Bytes

Versions: 1

Compression:

Stored size: 916 Bytes

Contents

module ForemanOpenscap::ReportDashboard
  class Data
    attr_reader :report

    def initialize(filter = "")
      @filter = filter
      @report = {}
      fetch_data
    end

    private
    attr_writer :report
    attr_accessor :filter

    def fetch_data
      report.update(
          {
            :passed  => passed_breakdowns,
            :failed  => failed_breakdowns,
            :othered => othered_breakdowns
          }
      )
    end

    def passed_breakdowns
      Log.where(:result => 'pass').joins("INNER JOIN reports ON reports.id = report_id").count(:id).to_f
    end

    def failed_breakdowns
      Log.where(:result => 'fail').joins("INNER JOIN reports ON reports.id = report_id").count(:id).to_f
    end

    def othered_breakdowns
      Log.where(:result => ForemanOpenscap::ArfReport::RESULT[2..-1]).joins("INNER JOIN reports ON reports.id = report_id").count(:id).to_f
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
foreman_openscap-0.5.0 app/services/foreman_openscap/report_dashboard/data.rb