Method: LicenseFinder::Glide#current_packages

Defined in:
lib/license_finder/package_managers/glide.rb

#current_packagesObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/license_finder/package_managers/glide.rb', line 9

def current_packages
  detected_path = detected_package_path

  imports = if Gem::Version.new(Psych::VERSION) >= Gem::Version.new('3.1.0.pre1')
              YAML.safe_load(File.read(detected_path), permitted_classes: [Symbol, Time], aliases: true).fetch('imports')
            else
              YAML.safe_load(File.read(detected_path), [Symbol, Time], [], true).fetch('imports')
            end

  imports.map do |package_hash|
    import_path = package_hash.fetch('name')
    license_path = project_path.join('vendor', import_path)

    GoPackage.from_dependency({
                                'ImportPath' => import_path,
                                'InstallPath' => license_path,
                                'Rev' => package_hash.fetch('version')
                              }, nil, true)
  end
end