Class: YAVDB::Sources::Victims::Client
- Inherits:
-
Object
- Object
- YAVDB::Sources::Victims::Client
- Defined in:
- lib/yavdb/sources/victims.rb
Defined Under Namespace
Classes: Language
Constant Summary collapse
- REPOSITORY_URL =
'https://github.com/victims/victims-cve-db'.freeze
- LANGUAGES =
[ Language.new('java', 'maven', lambda { |affected_package| "#{affected_package['groupId']}:#{affected_package['artifactId']}" }), Language.new('python', 'pypi', lambda { |affected_package| affected_package['name'] }) ]
Class Method Summary collapse
Class Method Details
.advisories ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/yavdb/sources/victims.rb', line 37 def self.advisories LANGUAGES.map do |language| glob = language_glob(language.name) YAVDB::SourceTypes::GitRepo.search(glob, REPOSITORY_URL).map do |repo_path, file_paths| Dir.chdir(repo_path) do file_paths.map do |file_path| advisory_hash = YAML.load_file(file_path) url = "#{REPOSITORY_URL}/blob/master/#{file_path}" create(advisory_hash, language, url) end end end end.flatten end |