Class: LittleneckClamAV::Clam

Inherits:
Object
  • Object
show all
Defined in:
lib/littleneck_clamav/clam.rb

Direct Known Subclasses

Clamd

Instance Method Summary collapse

Instance Method Details

#available?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/littleneck_clamav/clam.rb', line 22

def available?
  version[:success]
end

#commandObject



34
35
36
# File 'lib/littleneck_clamav/clam.rb', line 34

def command
  'clamscan'
end

#database_dateObject



18
19
20
# File 'lib/littleneck_clamav/clam.rb', line 18

def database_date
  Time.parse(version[:database_date]) if available?
end

#database_versionObject



14
15
16
# File 'lib/littleneck_clamav/clam.rb', line 14

def database_version
  version[:database_version].to_i if available?
end

#engineObject



10
11
12
# File 'lib/littleneck_clamav/clam.rb', line 10

def engine
  version[:engine] if available?
end

#scan(path) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/littleneck_clamav/clam.rb', line 26

def scan(path)
  check_scan! path
  opts = { swallow_stderr: true, expected_outcodes: [0, 1] }
  params = ['--no-summary', %("#{path}")].join(' ')
  output = Cocaine::CommandLine.new(command, params, opts).run
  parse_result path, output, $CHILD_STATUS.exitstatus
end