Class: LicenseFinder::Glide

Inherits:
PackageManager show all
Defined in:
lib/license_finder/package_managers/glide.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from PackageManager

#active?, command_exists?, #current_packages_with_relations, #detected_package_path, #initialize, installed?, #prepare

Constructor Details

This class inherits a constructor from LicenseFinder::PackageManager

Class Method Details

.package_management_commandObject



33
34
35
# File 'lib/license_finder/package_managers/glide.rb', line 33

def self.package_management_command
  'glide'
end

.prepare_commandObject



37
38
39
# File 'lib/license_finder/package_managers/glide.rb', line 37

def self.prepare_command
  'glide install'
end

.takes_priority_overObject



29
30
31
# File 'lib/license_finder/package_managers/glide.rb', line 29

def self.takes_priority_over
  Go15VendorExperiment
end

Instance Method Details

#current_packagesObject



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

def current_packages
  detected_path = detected_package_path

  YAML.load_file(detected_path).fetch('imports').map do |package_hash|
    import_path = package_hash.fetch('name')
    license_path =
      if detected_path == possible_package_paths.first
        project_path.join('src', 'vendor', import_path)
      else
        project_path.join('vendor', import_path)
      end

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

#possible_package_pathsObject



5
6
7
# File 'lib/license_finder/package_managers/glide.rb', line 5

def possible_package_paths
  [project_path.join('src', 'glide.lock'), project_path.join('glide.lock')]
end