data_importer/app/models/cisa_known_exploit.rb

25 lines
726 B
Ruby
Raw Normal View History

# frozen_string_literal: true
class CisaKnownExploit < ActiveRecord::Base
def self.find_by_id(id)
find_by(cve_id: id)
end
2022-04-27 01:31:57 -05:00
#TODO: i think i can just use postgrs sql jsonb ->> queries to better pull this data
2022-04-27 01:11:36 -05:00
def self.cve_id(cve_id)
last.vulnerabilities.select { |vuln| vuln if vuln.dig('cve_id') == cve_id }
end
def self.cves_from_year(year)
last.vulnerabilities.select { |vuln| vuln if vuln.dig('cve_id') =~ /CVE-#{year}-\d{4,7}/ }
end
def self.by_product(product_name)
2022-04-27 01:31:57 -05:00
last.vulnerabilities.select {|vuln| vuln if vuln.dig('product') =~ /#{product_name}/ }
end
def self.by_due_date(due_date)
last.vulnerabilities.select {|vuln| vuln if vuln.dig('due_date') == due_date }
end
end