Module: OssAudit

Defined in:
lib/oss_audit.rb,
lib/oss_audit/utils.rb,
lib/oss_audit/output.rb,
lib/oss_audit/version.rb,
lib/oss_audit/managers.rb,
lib/oss_audit/overrides.rb,
lib/oss_audit/managers/yarn.rb,
lib/oss_audit/managers/bundler.rb

Defined Under Namespace

Modules: Managers, Output, Overrides, Utils Classes: Error

Constant Summary collapse

NAME =
"Open Source Software Auditor"
VERSION =
"1.0.2"

Class Method Summary collapse

Class Method Details

.loggerObject



11
12
13
# File 'lib/oss_audit.rb', line 11

def self.logger
  @@logger ||= Logger.new(STDERR)
end

.scan(path) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/oss_audit.rb', line 15

def self.scan(path)
  libraries = []
  Managers.list.each do |manager|
    next unless manager.used_in?(path)

    logger.info{"#{manager} (#{path})"}

    dependencies = manager.list_dependencies(path)

    logger.debug{"* Found #{dependencies.count} dependencies"}

    dependencies.each do |dependency|
      name, version = Array(dependency)

      info      = manager.get_info(name, version) or next
      defaults  = {
        'name'          => name,
        'version'       => version,
        'manager'       => manager.name.split('::').last,
        'dependencies'  => []
      }

      libraries << defaults.merge(info)
    end
  end
  
  return libraries
end