module Rclam::Helpers
Constants
- FRESHCLAM_REGEX
- INFECTED_FILES_REGEX
- SCANNED_FILES_REGEX
- SIGNATURES_REGEX
- TIME_REGEX
Public Class Methods
clamscan_report(results)
click to toggle source
# File lib/rclam/helpers.rb, line 25 def self.clamscan_report(results) infected_files = first_regex_capture(INFECTED_FILES_REGEX, results).to_i scanned_files = first_regex_capture(SCANNED_FILES_REGEX, results) signatures = first_regex_capture(SIGNATURES_REGEX, results) result = infected_files > 0 ? "!!INFECTED!!" : "CLEAN" result = %Q{ Result: #{result} Infections: #{infected_files} Scanned Files: #{scanned_files} Signatures: #{signatures} } # Remove tabs from each line # https://stackoverflow.com/a/31345870 result.each_line.map(&:strip).join("\n") end
date_within_a_day?(date)
click to toggle source
# File lib/rclam/helpers.rb, line 20 def self.date_within_a_day?(date) hours_difference = ((DateTime.now.to_time - date.to_time) / 3600).to_i hours_difference <= 24 end
first_regex_capture(regex, value)
click to toggle source
# File lib/rclam/helpers.rb, line 9 def self.first_regex_capture(regex, value) match = regex.match(value) return nil if match.nil? match.captures.first end
last_signatures_update()
click to toggle source
# File lib/rclam/helpers.rb, line 15 def self.last_signatures_update version_header = %x{freshclam --version} DateTime.parse self.first_regex_capture(FRESHCLAM_REGEX, version_header) end