Sha256: 350a1b7fbddde39f594cfde109d049eb2b937f3b6818e34a58a1729294993dbb
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
module LicenseFinder class DecisionApplier def initialize(options) @decisions = options.fetch(:decisions) @packages = options.fetch(:packages) end def unapproved acknowledged.reject(&:approved?) end def acknowledged base_packages = decisions.packages + packages base_packages. reject { |package| ignored?(package) }. map { |package| with_decided_licenses(package) }. map { |package| with_approval(package) } end private attr_reader :packages, :decisions def ignored?(package) decisions.ignored?(package.name) || package.groups.any? { |group| decisions.ignored_group?(group) } end def with_decided_licenses(package) decisions.licenses_of(package.name).each do |license| package.decide_on_license license end package end def with_approval(package) if decisions.approved?(package.name) package.approved_manually!(decisions.approval_of(package.name)) elsif package.licenses.any? { |license| decisions.whitelisted?(license) } package.whitelisted! end package end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
license_finder-2.0.0.rc2 | lib/license_finder/decision_applier.rb |