Sha256: 5e3b04789d8934fb8fb99124b7ef09fc69bd2f966a31e81525cbfbc1981cc39f
Contents?: true
Size: 1.47 KB
Versions: 8
Compression:
Stored size: 1.47 KB
Contents
# frozen_string_literal: true module LicenseFinder module CLI class Dependencies < Base extend Subcommand include MakesDecisions method_option :approve, type: :boolean, desc: 'Approve the added dependency' method_option :homepage, type: :string, desc: 'Source of the added dependency' auditable desc 'add DEPENDENCY LICENSE [VERSION] [--homepage=HOMEPAGE] [--approve]', 'Add a dependency that is not managed by a package manager, optionally approving it at the same time' def add(name, license, version = nil) modifying do decisions .add_package(name, version, txn) .license(name, license, txn) decisions.homepage(name, options[:homepage], txn) if options[:homepage] decisions.approve(name, txn) if options[:approve] end if options[:approve] say "The #{name} dependency has been added and approved!", :green else say "The #{name} dependency has been added!", :green end end auditable desc 'remove DEPENDENCY', 'Remove a dependency that is not managed by a package manager' def remove(name) modifying { decisions.remove_package(name, txn) } say "The #{name} dependency has been removed.", :green end desc 'list', 'List manually added dependencies' def list say 'Manually Added Dependencies:', :blue say_each(decisions.packages, &:name) end end end end
Version data entries
8 entries across 8 versions & 1 rubygems