Method: LicenseFinder::Scanner#active_package_managers

Defined in:
lib/license_finder/scanner.rb

#active_package_managersObject



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/license_finder/scanner.rb', line 45

def active_package_managers
  return @package_managers if @package_managers

  active_pm_classes = []
  enabled_package_managers.each do |pm_class|
    active = pm_class.new(@config).active?

    if active
      @logger.info pm_class, "is active for '#{@project_path}'", color: :green
      active_pm_classes << pm_class
    else
      @logger.debug pm_class, "is not active for '#{@project_path}'", color: :red
    end
  end

  @logger.info 'License Finder', 'No active and installed package managers found for project.', color: :red if active_pm_classes.empty?

  active_pm_classes -= active_pm_classes.map(&:takes_priority_over)
  @package_managers = active_pm_classes.map { |pm_class| pm_class.new(@config) }
end