22 lines
567 B
Ruby
22 lines
567 B
Ruby
|
module VirusScanConcern
|
||
|
extend ActiveSupport::Concern
|
||
|
|
||
|
attr_reader :attachment_attribute
|
||
|
|
||
|
def add_virus_scan_on(piece_justificative)
|
||
|
@attachment_attribute = piece_justificative
|
||
|
end
|
||
|
|
||
|
def virus_scan
|
||
|
VirusScan.find_by(blob_key: self.attachment_attribute.blob.key)
|
||
|
end
|
||
|
|
||
|
def create_virus_scan(piece_justificative)
|
||
|
if piece_justificative&.attachment&.blob.present?
|
||
|
VirusScan.find_or_create_by!(blob_key: piece_justificative.blob.key) do |virus_scan|
|
||
|
virus_scan.status = VirusScan.statuses.fetch(:pending)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|