diff options
| author | mo khan <mo@mokhan.ca> | 2015-02-07 08:33:02 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2015-02-07 08:33:02 -0700 |
| commit | d6af160515debb1de4144c632cc81e6039c3a1bf (patch) | |
| tree | e157164dc0b057b34a0ecb710b2f7649ae4d67b2 /app/models/disposition.rb | |
| parent | bbe1d5d27ac72a172d155249067206e85e3c013a (diff) | |
fetch report for file from virus total.
Diffstat (limited to 'app/models/disposition.rb')
| -rw-r--r-- | app/models/disposition.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/app/models/disposition.rb b/app/models/disposition.rb index 1bf43c7..87ce27e 100644 --- a/app/models/disposition.rb +++ b/app/models/disposition.rb @@ -1,6 +1,7 @@ class Disposition < ActiveRecord::Base enum state: [ :clean, :malicious, :unknown ] attr_readonly :fingerprint + has_many :file_reports validates_uniqueness_of :fingerprint validates_presence_of :fingerprint, :state @@ -8,4 +9,11 @@ class Disposition < ActiveRecord::Base def to_param fingerprint end + + def self.create_for(fingerprint, report) + disposition = Disposition.find_by(fingerprint: fingerprint) + disposition = Disposition.new(fingerprint: fingerprint) if disposition.nil? + disposition.state = :unknown + disposition.file_reports.create!(data: report) + end end |
