2018-11-02 19:07:56 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Bundler
|
|
|
|
class CLI::Clean
|
|
|
|
attr_reader :options
|
|
|
|
|
|
|
|
def initialize(options)
|
|
|
|
@options = options
|
|
|
|
end
|
|
|
|
|
|
|
|
def run
|
|
|
|
require_path_or_force unless options[:"dry-run"]
|
|
|
|
Bundler.load.clean(options[:"dry-run"])
|
|
|
|
end
|
|
|
|
|
2020-10-15 00:20:25 -04:00
|
|
|
protected
|
2018-11-02 19:07:56 -04:00
|
|
|
|
|
|
|
def require_path_or_force
|
|
|
|
return unless Bundler.use_system_gems? && !options[:force]
|
|
|
|
raise InvalidOption, "Cleaning all the gems on your system is dangerous! " \
|
|
|
|
"If you're sure you want to remove every system gem not in this " \
|
|
|
|
"bundle, run `bundle clean --force`."
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|