Sha256: 06f2065823d6dc16691cfce4ecf90a1a054b770f88381dbdb5d426d9ff86b86c
Contents?: true
Size: 1.98 KB
Versions: 2
Compression:
Stored size: 1.98 KB
Contents
require 'digest' module LicenseFinder module DependencyManager def self.sync_with_package_managers modifying { current_dependencies = PackageSaver.save_all(current_packages) Dependency.managed.obsolete(current_dependencies).each(&:destroy) } end def self.create_manually_managed(license, name, version) raise Error.new("#{name} dependency already exists") unless Dependency.where(name: name).empty? modifying { dependency = Dependency.new(manual: true, name: name, version: version) dependency.license = LicenseAlias.named(license) dependency.save } end def self.destroy_manually_managed(name) modifying { find_by_name(name, Dependency.manually_managed).destroy } end def self.license!(name, license) modifying { find_by_name(name).set_license_manually!(license) } end def self.approve!(name) modifying { find_by_name(name).approve! } end def self.modifying database_file = LicenseFinder.config.artifacts.database_file checksum_before_modifying = checksum(database_file) result = yield checksum_after_modifying = checksum(database_file) unless checksum_after_modifying == checksum_before_modifying Reporter.write_reports end unless LicenseFinder.config.artifacts.html_file.exist? Reporter.write_reports end result end private # not really private, but it looks like it is! def self.current_packages package_managers.select(&:active?).map(&:current_packages).flatten end def self.package_managers [Bundler, NPM, Pip, Bower, Maven, Gradle] end def self.find_by_name(name, scope = Dependency) dep = scope.first(name: name) raise Error.new("could not find dependency named #{name}") unless dep dep end def self.checksum(database_file) if database_file.exist? Digest::SHA2.file(database_file).hexdigest end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
license_finder-1.0.0.0 | lib/license_finder/dependency_manager.rb |
license_finder-1.0.0.0-java | lib/license_finder/dependency_manager.rb |