Sha256: 9d2c696542c075ee4fafd1d6bbed273a457d69712a1ffc1393a915c8aa67e2e8
Contents?: true
Size: 1.02 KB
Versions: 4
Compression:
Stored size: 1.02 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) @package = package @dependency = dependency end def save DB.transaction do 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 dependency.save_changes end 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
4 entries across 4 versions & 1 rubygems