Sha256: 348c4b6bf88b8b54354b8a30b97cf4e0006455d230353c124df8c43d5e30dffd
Contents?: true
Size: 1.17 KB
Versions: 5
Compression:
Stored size: 1.17 KB
Contents
require 'forwardable' module LicenseFinder class PackageSaver extend Forwardable def_delegators :package, :license, :children, :groups, :summary, :description, :version, :homepage attr_reader :dependency, :package def self.save_all(packages) packages.map do |package| find_or_create_by_name(package).save end end def initialize(dependency, package) @dependency = dependency @package = package end 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 private def self.find_or_create_by_name(package) dependency = Dependency.named(package.name) new(dependency, package) end end end
Version data entries
5 entries across 5 versions & 1 rubygems