Sha256: 60b64426400dc7bfa55acc7fc30ee1b35a622d06bcf27f245941c76071c7a020

Contents?: true

Size: 1.27 KB

Versions: 1

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

1 entries across 1 versions & 1 rubygems

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