class LicenseFinder::DecisionApplier
def acknowledged
def acknowledged packages.reject { |package| ignored?(package) } end
def ignored?(package)
def ignored?(package) decisions.ignored?(package.name) || package.groups.any? { |group| decisions.ignored_group?(group) } end
def initialize(options)
def initialize(options) @decisions = options.fetch(:decisions) @system_packages = options.fetch(:packages) end
def packages
def packages result = decisions.packages + system_packages result .map { |package| with_decided_licenses(package) } .map { |package| with_approval(package) } end
def unapproved
def unapproved acknowledged.reject(&:approved?) end
def with_approval(package)
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
def with_decided_licenses(package)
def with_decided_licenses(package) decisions.licenses_of(package.name).each do |license| package.decide_on_license license end package end