Sha256: 5d9bfd4d5406685009c229a63ad00c6c8153706cdfad1ac8d2eb5ddc5fc24924

Contents?: true

Size: 720 Bytes

Versions: 77

Compression:

Stored size: 720 Bytes

Contents

require "open3"
require "ostruct"
require "shellwords"

module Ddr::Actions
  class VirusCheck

    # @return [Hash] result data
    # @raises [Ddr::Antivirus::VirusFoundError]
    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

  end
end

Version data entries

77 entries across 77 versions & 1 rubygems

Version Path
ddr-models-2.5.3 lib/ddr/actions/virus_check.rb
ddr-models-2.5.2 lib/ddr/actions/virus_check.rb
ddr-models-2.5.1 lib/ddr/actions/virus_check.rb
ddr-models-2.5.0 lib/ddr/actions/virus_check.rb
ddr-models-2.5.0.rc1 lib/ddr/actions/virus_check.rb
ddr-models-2.4.16 lib/ddr/actions/virus_check.rb
ddr-models-2.4.15 lib/ddr/actions/virus_check.rb
ddr-models-2.4.14 lib/ddr/actions/virus_check.rb
ddr-models-2.4.13 lib/ddr/actions/virus_check.rb
ddr-models-2.4.12 lib/ddr/actions/virus_check.rb
ddr-models-2.4.11 lib/ddr/actions/virus_check.rb
ddr-models-3.0.8 lib/ddr/actions/virus_check.rb
ddr-models-3.0.7 lib/ddr/actions/virus_check.rb
ddr-models-3.0.6 lib/ddr/actions/virus_check.rb
ddr-models-3.0.5 lib/ddr/actions/virus_check.rb
ddr-models-3.0.4 lib/ddr/actions/virus_check.rb
ddr-models-3.0.3 lib/ddr/actions/virus_check.rb
ddr-models-3.0.2 lib/ddr/actions/virus_check.rb
ddr-models-3.0.1 lib/ddr/actions/virus_check.rb
ddr-models-3.0.0 lib/ddr/actions/virus_check.rb