patched_versions = record.get("patched_versions", []) # [ ~> 3.0.4 , >= 3.1.2 ]
fixed_version_ranges = [GemVersionRange.from_native(v) for v in patched_versions] # type: List[VersionRange]
unaffected_versions = record.get("unaffected_versions", []) # [ ~> 2.6.0 , ~> 2.7.0]
unaffected_versions_ranges = [GemVersionRange.from_native(v) for v in unaffected_versions]# type: List[VersionRange]
affected_packages = AffectedPackage(purl,affected_version_range= ,fixed_version=) # How can we fill this?
For example ruby importer/improver: #799
https://github.com/rubysec/ruby-advisory-db/blob/master/rubies/ruby/CVE-2022-28738.yml
AffectedPackage type should be :
affected_version_range: VersionRange | Nonefixed_version: Version | NoneTo pass
affected_version_rangeand/orfixed_versionas a argument forAffectedPackageit is required to use
RubyVersionAPI()but we should useRubyVersionAPI()only at improver