module LicenseFinder module CLI class Approvals < Base extend Subcommand include MakesDecisions auditable desc "add DEPENDENCY...", "Approve one or more dependencies by name" def add(*names) assert_some names modifying { names.each { |name| decisions.approve(name, txn) } } say "The #{names.join(", ")} dependency has been approved!", :green end auditable desc "remove DEPENDENCY", "Unapprove a dependency" def remove(dep) modifying { decisions.unapprove(dep, txn) } say "The dependency #{dep} no longer has a manual approval" end end end end