class Ddr::Actions::VirusCheck

Public Class Methods

call(file_path) click to toggle source

@return [Hash] result data @raises [Ddr::Antivirus::VirusFoundError]

# File lib/ddr/actions/virus_check.rb, line 10
def self.call(file_path)
  unless File.exist?(file_path)
    raise Error, "File not found: #{file_path}"
  end
  result = {}
  begin
    scan_result = Ddr::Antivirus.scan(file_path)
  rescue Ddr::Antivirus::ScannerError => e
    result[:exception] = [e.class.name, e.to_s]
    scan_result = e.result
  end
  result[:event_date_time] = scan_result.scanned_at
  result[:software]        = scan_result.version
  result[:detail]          = scan_result.output
  result
end