Class: Ddr::Antivirus::ClamdScannerAdapter
- Inherits:
-
ScannerAdapter
- Object
- ScannerAdapter
- Ddr::Antivirus::ClamdScannerAdapter
- Defined in:
- lib/ddr/antivirus/adapters/clamd_scanner_adapter.rb
Overview
Adapter for clamd client (clamdscan)
Constant Summary collapse
- SCANNER =
"clamdscan".freeze
Instance Method Summary collapse
Methods inherited from ScannerAdapter
Instance Method Details
#clamdscan(path) ⇒ Object
26 27 28 29 30 |
# File 'lib/ddr/antivirus/adapters/clamd_scanner_adapter.rb', line 26 def clamdscan(path) make_readable(path) do command(path) end end |
#scan(path) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/ddr/antivirus/adapters/clamd_scanner_adapter.rb', line 13 def scan(path) output, status = clamdscan(path) result = ScanResult.new(path, output, version: version, scanned_at: Time.now.utc) case status.exitstatus when 0 result when 1 raise VirusFoundError.new(result) when 2 raise ScannerError.new(result) end end |
#version ⇒ Object
32 33 34 35 |
# File 'lib/ddr/antivirus/adapters/clamd_scanner_adapter.rb', line 32 def version out, err, status = Open3.capture3(SCANNER, "-V") out.strip end |