# frozen_string_literal: true class CisaKnownExploit < ActiveRecord::Base def self.find_by_id(id) find_by(cve_id: id) end 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) 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