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.



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

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

Instance Attribute Details

#dependencyObject (readonly)

Returns the value of attribute dependency.



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

def dependency
  @dependency
end

#packageObject (readonly)

Returns the value of attribute package.



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

def package
  @package
end

Class Method Details

.save_all(packages) ⇒ Object



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

def self.save_all(packages)
  packages.map do |package|
    find_or_create_by_name(package).save
  end
end

Instance Method Details

#saveObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/license_finder/package_saver.rb', line 21

def save
  dependency.version = version.to_s
  dependency.summary = summary
  dependency.description = description
  dependency.homepage = homepage
  dependency.bundler_group_names = groups.map(&:to_s)
  dependency.children_names = children
  dependency.apply_better_license license

  # Only save *changed* dependencies. This ensures re-running
  # `license_finder` won't always update the DB, and therefore won't always
  # update the HTML/markdown reports with a new timestamp.
  dependency.save_changes
  dependency
end