module Dependabot::Utils
def self.register_requirement_class(package_manager, requirement_class)
def self.register_requirement_class(package_manager, requirement_class) validate_package_manager!(package_manager) @requirement_classes[package_manager] = requirement_class end
def self.register_version_class(package_manager, version_class)
def self.register_version_class(package_manager, version_class) validate_package_manager!(package_manager) @version_classes[package_manager] = version_class end
def self.requirement_class_for_package_manager(package_manager)
def self.requirement_class_for_package_manager(package_manager) requirement_class = @requirement_classes[package_manager] return requirement_class if requirement_class raise "Unregistered package_manager #{package_manager}" end
def self.validate_package_manager!(package_manager)
def self.validate_package_manager!(package_manager) # Official package manager return if Config::File::PACKAGE_MANAGER_LOOKUP.invert.key?(package_manager) # Used by specs return if package_manager == "dummy" || package_manager == "silent" raise "Unsupported package_manager #{package_manager}" end
def self.version_class_for_package_manager(package_manager)
def self.version_class_for_package_manager(package_manager) version_class = @version_classes[package_manager] return version_class if version_class raise "Unregistered package_manager #{package_manager}" end