Sha256: 6b3b775a17d8f8e7fb2384d6545c6c52d65b41fc0c540c9dc6f18944fcc66d5f

Contents?: true

Size: 1.27 KB

Versions: 21

Compression:

Stored size: 1.27 KB

Contents

module LicenseFinder
  module CLI
    class Dependencies < Base
      extend Subcommand
      include MakesDecisions

      method_option :approve, type: :boolean, desc: "Approve the added dependency"
      auditable
      desc "add DEPENDENCY LICENSE [VERSION] [--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 {
          decisions
            .add_package(name, version, txn)
            .license(name, license, txn)
          decisions.approve(name, txn) if options[:approve]
        }
        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) { |package| package.name }
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
license_finder-2.0.0 lib/license_finder/cli/dependencies.rb