Class: LicenseFinder::DependencyManager
- Inherits:
-
Object
- Object
- LicenseFinder::DependencyManager
- Defined in:
- lib/license_finder/dependency_manager.rb
Instance Attribute Summary collapse
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
Instance Method Summary collapse
- #approve!(name, approver = nil, notes = nil) ⇒ Object
-
#initialize(options = {}) ⇒ DependencyManager
constructor
A new instance of DependencyManager.
- #license!(name, license_name) ⇒ Object
- #manually_add(license, name, version) ⇒ Object
- #manually_remove(name) ⇒ Object
- #modifying ⇒ Object
- #sync_with_package_managers(options = {}) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ DependencyManager
Returns a new instance of DependencyManager.
7 8 9 |
# File 'lib/license_finder/dependency_manager.rb', line 7 def initialize ={} @logger = [:logger] || LicenseFinder::Logger::Default.new end |
Instance Attribute Details
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
5 6 7 |
# File 'lib/license_finder/dependency_manager.rb', line 5 def logger @logger end |
Instance Method Details
#approve!(name, approver = nil, notes = nil) ⇒ Object
38 39 40 |
# File 'lib/license_finder/dependency_manager.rb', line 38 def approve!(name, approver = nil, notes = nil) { find_by_name(name).approve!(approver, notes) } end |
#license!(name, license_name) ⇒ Object
33 34 35 36 |
# File 'lib/license_finder/dependency_manager.rb', line 33 def license!(name, license_name) license = License.find_by_name(license_name) { find_by_name(name).set_license_manually!(license) } end |
#manually_add(license, name, version) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/license_finder/dependency_manager.rb', line 19 def manually_add(license, name, version) raise Error.new("#{name} dependency already exists") unless Dependency.where(name: name).empty? { dependency = Dependency.new(added_manually: true, name: name, version: version) dependency.licenses = [License.find_by_name(license)].to_set dependency.save } end |
#manually_remove(name) ⇒ Object
29 30 31 |
# File 'lib/license_finder/dependency_manager.rb', line 29 def manually_remove(name) { find_by_name(name, Dependency.added_manually).destroy } end |
#modifying ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/license_finder/dependency_manager.rb', line 42 def checksum_before = checksum result = DB.transaction { yield } checksum_after = checksum database_changed = checksum_before != checksum_after if database_changed || reports_do_not_exist || reports_are_stale Reporter.write_reports end result end |
#sync_with_package_managers(options = {}) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/license_finder/dependency_manager.rb', line 11 def sync_with_package_managers ={} { current_dependencies = PackageSaver.save_all(current_packages) Dependency.added_automatically.obsolete(current_dependencies).each(&:destroy) } end |