lib/ddr/actions/virus_check.rb
module Ddr::Actions
class VirusCheck
# @return [Hash] result data
# @raises [Ddr::Antivirus::VirusFoundError]
def self.call(file_path)
Hash.new.tap do |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
end
end
end
end