Class: LicenseFinder::PackageSaver

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/license_finder/package_saver.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dependency, package) ⇒ PackageSaver

Returns a new instance of PackageSaver.



22
23
24
25
# File 'lib/license_finder/package_saver.rb', line 22

def initialize(dependency, package)
  @package = package
  @dependency = dependency
end

Instance Attribute Details

#dependencyObject (readonly)

Returns the value of attribute dependency.



9
10
11
# File 'lib/license_finder/package_saver.rb', line 9

def dependency
  @dependency
end

#packageObject (readonly)

Returns the value of attribute package.



9
10
11
# File 'lib/license_finder/package_saver.rb', line 9

def package
  @package
end

Class Method Details

.find_or_create_by_name(package) ⇒ Object



11
12
13
14
# File 'lib/license_finder/package_saver.rb', line 11

def self.find_or_create_by_name(package)
  dependency = Dependency.named(package.spec.name)
  new(dependency, package)
end

.save_packages(current_packages) ⇒ Object



16
17
18
19
20
# File 'lib/license_finder/package_saver.rb', line 16

def self.save_packages(current_packages)
  current_packages.map do |package|
    PackageSaver.find_or_create_by_name(package).save
  end
end

Instance Method Details

#saveObject



27
28
29
30
31
32
33
34
35
# File 'lib/license_finder/package_saver.rb', line 27

def save
  DB.transaction do
    apply_dependency_definition
    sync_bundler_groups
    sync_children
    apply_better_license
  end
  dependency
end