Class: KPM::Uninstaller

Inherits:
Object
  • Object
show all
Defined in:
lib/kpm/uninstaller.rb

Instance Method Summary collapse

Constructor Details

#initialize(destination, logger = nil) ⇒ Uninstaller

Returns a new instance of Uninstaller.



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/kpm/uninstaller.rb', line 3

def initialize(destination, logger = nil)
  @logger = logger
  if @logger.nil?
    @logger = Logger.new(STDOUT)
    @logger.level = Logger::INFO
  end

  destination ||= KPM::BaseInstaller::DEFAULT_BUNDLES_DIR
  @installed_plugins = Inspector.new.inspect(destination)

  plugins_installation_path = File.join(destination, 'plugins')
  @plugins_manager = PluginsManager.new(plugins_installation_path, @logger)

  sha1_file_path = File.join(destination, KPM::BaseInstaller::SHA1_FILENAME)
  @sha1checker = KPM::Sha1Checker.from_file(sha1_file_path, @logger)
end

Instance Method Details

#uninstall_plugin(plugin, force = false) ⇒ Object



20
21
22
23
24
25
# File 'lib/kpm/uninstaller.rb', line 20

def uninstall_plugin(plugin, force = false)
  plugin_info = find_plugin(plugin)
  raise "No plugin with key/name '#{plugin}' found installed. Try running 'kpm inspect' for more info" unless plugin_info

  remove_all_plugin_versions(plugin_info, force)
end