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

Version Path
license_finder-5.11.1 lib/license_finder/cli/dependencies.rb
license_finder-5.11.0 lib/license_finder/cli/dependencies.rb
license_finder-5.10.2 lib/license_finder/cli/dependencies.rb
license_finder-5.10.1 lib/license_finder/cli/dependencies.rb
license_finder-5.10.0 lib/license_finder/cli/dependencies.rb
license_finder-5.9.2 lib/license_finder/cli/dependencies.rb
license_finder-5.9.1 lib/license_finder/cli/dependencies.rb
license_finder-5.9.0 lib/license_finder/cli/dependencies.rb